Geomerics - Advancing Technology Through Innovation

ENLIGHTEN

Enlighten sets a new standard in believability for computer games. When a game uses Enlighten, all radiosity lighting is computed dynamically in real time. When a torch moves, or a light is turned off, the scene updates instantly, with correct realistic lighting automatically computed.

Features

  • Real-time radiosity
  • Dynamic lighting environments
  • Colour bleeding
  • Soft shadows
  • Character lighting
  • Ambient occlusion
  • Specular highlights
  • Normal mapping
  • HDR
  • Cross-platform compatibility

How does it work?

The core radiosity runtime component of Enlighten takes the result of your direct illumination in the form of a texture, which represents something similar to a light map. It returns as output other textures representing all of the bounced light computed for that frame which can be sampled inside your shaders. Enlighten gives back sufficent information to combine the bounced lighting as you wish, and provides sample code to demonstrate potential uses of the lighting information. Through this design model Enlighten can bolt on to any existing lighting solution.

Enlighten currently requires a one-off geometry pre-compute stage, and stores the results of this for use as additional input to the runtime system. This takes of the order of 2 minutes for typical game geometry, and need only be performed once. It is also only dependent upon the geometry of the scene - not the textures, material or lights that your scene may be composed of. This allows you to re-texture and light your world in real time.

How is it used

Enlighten is delivered as an SDK containing run-time code and a series of tools and plug-ins. The runtime code in the SDK is very lightweight, and although simple to integrate, intentionally has platform specific features. This allows us to work as optimally as possible on each of our supported platforms and allows you to work closely with the core functionality

To support this SDK design, Enlighten ships with extensive sample code and utility code that can be 'peeled away' from the core components as necessary. This allows you to work with Enlighten at the level of abstraction you desire. Enabling both quick integration with the utility code, and the flexibility for you to take control.

Performance

Enlighten is available on three platforms.

Sony Playstation 3

  • Enlighten is currently optimised so that the core algorithm can run sufficiently on 1 SPU, with minimal GPU usage. On a game running at 60fps, Enlighten will consume 1/3rd of the resource of 1 SPU, leaving the remaining SPU resource for the rest of the game. This may of course be increased to add detail to the radiosity solution, giving an exciting amount of scope for creativity.

Microsoft Xbox 360

  • For the 360 Enlighten can be configured to balance work load across either the GPU or on one of the main threads. How you choose to distribute the work can then reflect the balance of resource demand in your system.

PC

  • The PC version of Enlighten can also be configured to balance work load between the GPU and the CPU. This allows Enlighten to target the most suitable resource across a wide range PCs with graphics cards of differing capacity and those PCs with multi-core CPUs.