Development news: Finishing shader rendering, steep parallax bump mapping reimplemented, engine 2.4.1 fixes release

April 9, 2011
Castle "overburn" simple effect.
Solid wireframe rendering.

The work on finishing new shader renderer continues :) Bottom of this post contains more details.

Parallax bump mapping (including steep parallax bump mapping with optional self-shadowing) has been reimplemented for the new shader pipeline. (See our bump mapping extensions docs.) Specifying height maps for parallax bump mapping is different now: they should be passed as the alpha channel of a normal map texture. This is something that can be:

  1. trivially easily created (in GIMP normal map plugin just set "Alpha Channel" to "Height"),
  2. passed to OpenGL much faster (no need for passing a separate texture, and no need to combine images at loading).

The old method for passing heightMap (by a separate Appearance.heightMap field) for now simply doesn't work — please report if you need it. I would advice to simply change your textures to the new method, that is put the height-map in the alpha channel of the normal-map. The new method feels easier for both texture creators and for the implementation.

In another news, we released Kambi VRML game engine version 2.4.1. This is a bugfix release, compared to 2.4.0 there are no new features, only most critical fixes (ported from SVN work):

  • fix FPC 2.2.4 and older compilation (like for Lazarus 0.9.28) (thanks to Stephen H. France for reporting this and other issues),
  • fix to Lazarus components redraw issues,
  • fixes for DRAFT.engine_tutorial (look in doc/ subdirectory),
  • added examples/lazarus/load_model_and_camera_manually.

Some details about changes in trunk:

  • LineProperties implemented,
  • transform animation optimizations,
  • various prototype speed and memory optimizations,
  • crude implementation of some BitManagement nodes (Layer2D, Layer3D, others),
  • many shader renderer improvements and optimizations.