module High Level Runtime

This is the documentation for Enlighten.

module High Level Runtime

In addition to the low level API in the Enlighten library itself, the Enlighten SDK now includes a high level run time layer built on top of the low level API.

This part of Enlighten is shipped as source code. As well as being available for integration into a game engine, it serves as example usage of the Enlighten low level API. More details are available in the High Level Runtime section of the SDK documentation.

Classes

Name

Description

Enlighten::AsyncTaskThreadGroup

A thread group which executes Enlighten tasks by calling the AsyncTaskCallback a given number of times, and uses GeoEvent signalling to wait until all threads have completed execution.

Enlighten::BakedProbeOutputInfo

Parameters to be enqueued for a SetBakedProbeOutput() command The pointer contents will be copied; when the command has executed the original data may be released.

Enlighten::BaseAlbedoHandler

Base Albedo Handler.

Enlighten::BaseCubeMap

Base class used by the update manager to hold all of the resources for a cube map (regardless of where the solving happens).

Enlighten::BaseDynamicObject

Base class which holds everything a dynamic object must have (regardless of where the solving happens).

Enlighten::BaseEnvironment

Trivial base class used to lend a base type to environment maps.

Enlighten::BaseProbeSet

Class used by the update manager to hold all of the resources for a probe set together.

Enlighten::BaseSystem

Base class which holds everything a system must have (regardless of where the solving happens).

Enlighten::BaseSystemSolutionSpace

Base implementation of ISystemSolutionSpace.

Enlighten::BaseUpdateManager

Base implementation of the IUpdateManager interface. All update managers derive from this class.

Enlighten::BaseWorker

Base implementation of the worker class, containing functionality common to all platforms.

Enlighten::Command

Basic interface for commands to be executed on the worker thread.

Enlighten::CopyAlbedoBufferInfo

Parameters to be enqueued for a CopyInputLightingBuffer() command.

Enlighten::CopyBounceBufferInfo

Parameters to be enqueued for a CopyInputLightingBuffer() command.

Enlighten::CopyEmissiveBufferInfo

Parameters to be enqueued for a CopyInputLightingBuffer() command.

Enlighten::CopyEmissiveEnvironmentInfo

Parameters to be enqueued for the CopyEmissiveEnvironment() command.

Enlighten::CopyInputLightingBufferInfo

Parameters to be enqueued for a CopyInputLightingBuffer() command.

Enlighten::CopyProbeOutputInfo

Parameters to be enqueued for a CopyProbeOutputInfo() command.

Enlighten::CopyRawOutputInfo

Parameters to be enqueued for a CopyRawOutput() command.

Enlighten::CopyTransparencyBufferInfo

Parameters to be enqueued for a CopyMaterialTransparencyBuffer() or CopyGeometryTransparencyBuffer() command.

Enlighten::CopyVisibilityBufferInfo

Parameters to be enqueued for a CopyVisibilityBuffer() command.

Enlighten::CpuAlbedoHandler

Implementation of BaseAlbedoHandler for the CPU solver.

Enlighten::CpuCubeMap

Derived class of BaseCubeMap used by the CPU and console update managers.

Enlighten::CpuDynamicObject

Implementation of BaseDynamicObject for Cpu Solving.

Enlighten::CpuEnvironment

Class used by the CPU and console update managers to represent an environment map.

Enlighten::CpuSystem

System for the CPU solver.

Enlighten::CpuSystemSolutionSpace

System solution space for the CPU solver.

Enlighten::CpuUpdateManager

Base class update managers for Enlighten that perform updates on the CPU, and aren't blocking the rendering thread.

Enlighten::CpuWorker

Implementation of the worker class, containing functionality common to all platforms which solve radiosity on a CPU or SPU.

Enlighten::DefaultThreadGroup

Default implementation of IThreadGroup which executes tasks serially on the calling thread (the worker thread).

Enlighten::Dx11TextureUpdater

Implementation for managing solver output and Dx11 GPU textures.

Enlighten::Dx9TextureUpdater

Implementation for managing solver output and Dx9 GPU textures.

Enlighten::DynamicObject

Class representing the local bounding box and corresponding output probe resolution of a dynamic object, so that it can be lit with volume textures of SH probe data.

Enlighten::EnlightenProfile

A container for Enlighten runtime profile statistics.

Enlighten::EnlightenTask

A task to be executed by a TaskProcessor. It consists of a task type and an object pointer.

Enlighten::FixedTimeLimiter

Simple implementation of ILimiter which prevents new tasks from starting after a fixed time has elapsed from the start of UpdateRadiosity().

Enlighten::GlTextureUpdater

Implementation for managing solver output and OpenGL GPU textures.

Enlighten::GpuTextureWrapper

Concrete implementation of IGpuTexture.

Enlighten::IAsyncTask

Async task interface.

Enlighten::IGpuTexture

IGpuTexture is the main interface used by the HLRT to keep track of output textures.

Enlighten::IGpuTextureAllocator

Interface which enables Enlighten to allocate GPU textures to hold the solved output.

Enlighten::IGpuTextureUpdater

IGpuTextureUpdater is the interface used by the HLRT to manage Enlighten solver output and associated GPU texture resources.

Enlighten::ILimiter

Interface which can prevent Enlighten tasks from starting in the current call to UpdateRadiosity.