This is the documentation for Enlighten.

The Enlighten scene


The Enlighten scene is a cut down representation of your world containing only information relevant to Enlighten. For example, geometry to be included in radiosity computations, and Enlighten configuration properties such as indirect lighting resolution.

Your world editing tools must export the Enlighten scene in order to run the Enlighten precompute. Create the Enlighten scene representing your world by writing code to produce a simple hierarchy of objects.

You don't need to import the Enlighten scene back into your tools or load the exported files in your game runtime. The precompute is designed to run alongside your existing world pipeline. 

To help diagnose problems with your implementation of the export, you can configure your exported Enlighten scene to review in GeoRadiosity.

The Enlighten Support team may ask for a copy of your exported Enlighten scene to help diagnose an issue.

The scene root

The scene root is the top level of the hierarchy. It contains instances of meshes that make up the world.

You can control the radiosity computation using the properties in a parameter set defined within the scene root. For example, you can create a parameter set which specifies the indirect lighting resolution to use in part of the scene.

Mesh objects

The mesh object is the basic building block of any scene. It encapsulates a single indexed triangle list.

To eliminate unnecessary vertex remapping in your Enlighten pipeline, create one mesh object for each engine mesh.

The properties defined in each material used by the mesh control how the mesh interacts with radiosity.

Geometry objects

A geometry object groups together a set of related mesh objects to be placed in the scene. 

The object contains a list of meshes, each with associated properties.

Many properties that control lightmap UV creation are associated with the geometry object.

Instance objects

Each instance object represents a geometry object placed at a specific location in the world.

The attributes of the instance object control its radiosity properties. 

When your scene contains many instances of the same mesh, to reduce memory usage during the precompute, you can share a geometry object between multiple instances.

We recommend to add one instance object for each instance of a engine mesh that is placed in your world editing tools.

Probe placement

To provide accurate lighting for objects lit using probes, your scene description must specify where probes are required. You can save the artist time by using Enlighten to automate the process of placing individual probes.

Probes are required for static objects lit using probes, and for any object that moves at runtime.

Cubemap placement

Each cubemap object represents the the location, orientation and resolution of a local reflection probe.