This is the documentation for Enlighten.
module Core Runtime System
Classes
Name | Description |
|---|---|
Constitutes the precomputed material data for a system. | |
An EntireProbeSetTask solves an entire set of probes as an atomic block. | |
A class containing the parameters to be used as input to the albedo/emissive/transparency sampling stage. | |
Constitutes the core precomputed data for the input lighting generation for a system. | |
A data block that describes essential properties of an input workspace. | |
A measure of the space required to update the PPPI atlas. | |
The data associated with each non-empty octree node. | |
A pair of probes which can be averaged to produce a 'virtual' probe output. | |
Constitutes the core precomputed data for a cube map. | |
A data block that describes essential properties of a cube map. | |
Structure describing a task to generate a cube map. | |
Facilitates storage of core Enlighten data. | |
Structure describing a task using the irradiance technique. | |
Constitutes the core precomputed data for a probe set. | |
A data block that describes essential properties of a run-time probe set. | |
A Probe task specifies a list of probe points whose lighting values will be calculated when the task is solved. | |
Constitutes the core precomputed data for a system. | |
A data block that describes essential properties of a rad system, including it's id, output and input textures sizes, budget, pixel utilisation and other debugging data. | |
A class containing the parameters to be used as input to the bounce resampling stage. | |
A class containing the parameters to be used if sampling from a texture is required. | |
Structure describing a task which solves directly to the bounce buffer and does not update any textures. |
Functions
Name | Description |
|---|---|
AllLightingInputsStatic(const InputLightingBuffer **, Geo::s32, const InputLightingBuffer *) | Returns the number of frames since the last update that changed any of the given light inputs. |
CalcDirectionalIrradianceMemory(const Enlighten::RadSystemCore *) | Tells you how much memory in a RadSystemCore is used by the directional irradiance technique. |
Tells you how much memory is required to create a DirectionPalette, which is a required input to an Enlighten::EntireProbeSetTask. | |
Tells you how much memory in a RadSystemCore is used by the irradiance technique. | |
CalcRadCubeMapCoreTotalMemory(const Enlighten::RadCubeMapCore *) | Tells you how much memory in total is used by a RadCubeMapCore. |
CalcRadProbeSetCoreTotalMemory(const Enlighten::RadProbeSetCore *) | Tells you how much memory in total is used by a RadProbeSetCore. |
CalcRadSystemCoreTotalMemory(const Enlighten::RadSystemCore *) | Tells you how much memory in total is used by a RadSystemCore. |
CalcRequiredPersistentDataSize(const Enlighten::RadSystemCore *) | Tells you how much memory is required for the intermediate bounce output data for this radiosity core. |
Tells you how much workspace memory is required by SolveCubeMapTask to solve a specific cube map. | |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::InputWorkspace *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::RadProbeSetCore *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::RadCubeMapCore *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::RadSystemCore *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::ClusterAlbedoWorkspaceMaterialData *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::InputWorkspaceMetaData *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::RadCubeMapMetaData *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::AlbedoBuffer *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::PrecomputedVisibilityData *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::DynamicMaterialWorkspace *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::IncidentLightingBuffer *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::InputLightingBuffer *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::RadDataBlock &) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::RadSystemMetaData *) | Converts the endian format of a runtime object. |
ConvertEndian(Geo::EConvertEndianMode, Enlighten::RadProbeSetMetaData *) | Converts the endian format of a runtime object. |
Create a Direction Palette for use with an EntireProbeSetTask. | |
FreezeEntireProbeSetTask(const Enlighten::EntireProbeSetTask *, void *, Geo::u32 &, Geo::u32 &) | The temporal coherence optimization - if used - requires that all probe sets are kept in sync, so that no changes in lighting are missed. |
The temporal coherence optimisation - if used - requires that all systems are kept in sync, so that no changes in lighting are missed. | |
The temporal coherence optimization - if used - requires that all systems are kept in sync, so that no changes in lighting are missed. | |
Helper function for getting irradiance output format friendly name. | |
Helper function to get the number of bytes/pixel per texture for a given output format. | |
Get the state of the force disable FMA4 support flag. | |
GetInputWorkspaceGUID(const Enlighten::RadCubeMapCore *, Geo::s32) | Returns the GUID of a specific entry in the expected input lighting buffer list. |
GetInputWorkspaceGUID(const Enlighten::RadProbeSetCore *, Geo::s32) | Returns the GUID of a specific entry in the expected input lighting buffer list. |
GetInputWorkspaceGUID(const Enlighten::RadSystemCore *, Geo::s32) | Returns the GUID of a specific entry in the expected input lighting buffer list. |
GetInputWorkspaceGUID(const Enlighten::RadDataBlock *, Geo::s32) | Returns the GUID of a specific entry in the expected input lighting buffer list. |
GetInputWorkspaceListLength(const Enlighten::RadDataBlock *) | Returns the length of the input lighting buffer list expected when solving radiosity using this core data. |
GetInputWorkspaceListLength(const Enlighten::RadSystemCore *) | Returns the length of the input lighting buffer list expected when solving radiosity using this core data. |
GetInputWorkspaceListLength(const Enlighten::RadCubeMapCore *) | Returns the length of the input lighting buffer list expected when solving radiosity using this core data. |
GetInputWorkspaceListLength(const Enlighten::RadProbeSetCore *) | Returns the length of the input lighting buffer list expected when solving radiosity using this core data. |
Returns the number of octree nodes within the specified octree probe set. | |
Returns the number of virtual probes within the specified probe set. | |
GetOctreeEnvironmentVisibility(const Enlighten::RadProbeSetCore *) | Returns a pointer to the array of environment visibilities within the specified octree probe. |
GetOctreeEnvironmentVisibilityShOrder(const Enlighten::RadProbeSetCore *) | Returns the SH order for environment visibility of this octree probe set. |
GetOctreeInterpolatedProbeCounts(const Enlighten::RadProbeSetCore *) | Returns the number of interpolated probes within the specified octree probe set. |
GetOctreeInterpolatedProbeIndices(const Enlighten::RadProbeSetCore *) | Returns a pointer to the array of interpolated probe indices within the specified octree probe set. |
GetOctreeInterpolatedProbeWidths(const Enlighten::RadProbeSetCore *) | Returns a pointer to the array of interpolated probe widths within the specified octree probe set. |
Returns the level with the probe set hierarchy of this octree probe set. | |
Returns the number of octree nodes within the specified octree probe set. | |
Returns a pointer to the array of octree nodes within the specified octree probe set. | |
GetOctreePppiAtlasFootprint(const Enlighten::RadProbeSetCore *) | Returns the PPPI atlas footprint of the specified octree probe set. |
Returns a pointer to the array of octree nodes within the specified octree probe set. | |
Returns a pointer to the root probes in the specified octree probe set. | |
GetOctreeSampledProbeCounts(const Enlighten::RadProbeSetCore *) | Returns the number of sampled probes within the specified octree probe set. |
Returns a pointer to the array of sampled probes within the specified octree probe set. | |
Returns the number of PPPI indirection tiles within the specified octree probe set. | |
Returns a pointer to the array of octree tile elements within the specified octree probe set. | |
Returns the voxel size used when the specified octree probe set was precomputed. | |
Function returning the correct optimised solver based on the compilation environment. | |
Returns the size of the output texture required for this radiosity data. | |
Returns the size of the output texture required for this radiosity data. | |
GetProbeEnvironmentVisibility(Geo::s32, const Enlighten::RadProbeSetCore *) | Retrieves the light probe environment visibility for the given probe in the volume probe data. |
GetProbeVisibility(Geo::s32, const Enlighten::RadProbeSetCore *, float *) | Retrieves the light probe visibility for the given probe in the volume probe data. |
Returns a pointer to the array of virtual probes within the specified probe set. | |
HashInputLightingElements(const InputLightingBuffer **, Geo::s32) | Hash the guids and pointers of the InputLightingBuffer array. |
Returns true for formats with a fixed range (0-1). | |
Returns the number of frames since the last update that changed the given input lighting buffer. | |
Returns TRUE if the probe was culled during precompute. | |
Checks if the given output format enumeration is valid. | |
Places the unordered list of lighting buffers into the correct order for the solver. | |
Places the unordered list of lighting buffers into the correct order for the solver. | |
Places the unordered list of lighting buffers into the correct order for the solver. | |
Places the unordered list of lighting buffers into the correct order for the solver. | |
ResampleBounce(const Enlighten::ResampleBounceParameters &, Geo::u32 &) | After SolveIrradianceTask is run, the ResampleBounce() function populates an Enlighten::BounceBuffer with bounce data. |
Set whether to force disable FMA4 support. | |
SolveBounceBufferTask(const Enlighten::SolveBounceTask *, void *, Geo::u32 &, Geo::u32 &) | Solve the radiosity directly to a bounce buffer only. |
SolveCubeMapTask(const Enlighten::RadCubeMapTask *, void *, Geo::u32 &, Geo::u32 &) | Solve the specified cube map task using a given workspace. |
SolveEntireProbeSetTask(const Enlighten::EntireProbeSetTask *, void *, Geo::u32 &, Geo::u32 &) | Solve the specified EntireProbeSetTask. |
SolveIrradianceTask(const Enlighten::RadIrradianceTask *, void *, Geo::u32 &, Geo::u32 &) | Solve the specified irradiance task using a given workspace. |
SolveProbeTaskL1(const Enlighten::RadProbeTask *, Geo::u32 &) | Solve the specified L1 probe task. |
SolveProbeTaskL2(const Enlighten::RadProbeTask *, Geo::u32 &) | Solve the specified L2 probe task. |
Enums
Name | Description |
|---|---|
Enumeration of the different types of cubemap mip filter. | |
Output formats. | |
To support both DX9 and DX11 rendering with the same shader code, the solve functions can output 8-bit-per-pixel texture data in either byte order. | |
Probe Interpolation output formats. | |
Valid data types for use with the RadDataBlock class. | |
Supported Spherical Harmonic types. | |
Valid solver types for use with the RadDataBlock class. |
Typedefs
Name | Description |
|---|---|
IncidentLightingBuffer BounceBuffer | BounceBuffer type used for re-sampling the bounce for feedback into the input lighting. |
Geo::FixedSizeArray< Geo::u32, 9 > PppiGroupedSize | The size of each PPPI data group within a probe set. |
Geo::FixedSizeArray< PppiAtlasFootprint, 9 > PppiProbeSetFootprint | The PPPI atlas footprint of a probe set. |
Geo::s32 GEO_CALL Enlighten::AllLightingInputsStatic
public: Geo::s32GEO_CALL AllLightingInputsStatic
(
const InputLightingBuffer ** lightingBuffers,
Geo::s32 numLightingBuffers,
const InputLightingBuffer * emissiveEnvironment
)
Returns the number of frames since the last update that changed any of the given light inputs.
Parameters
[in] | lightingBuffers | The list of input lighting buffers to check for changes (individual entries can be NULL). |
[in] | numLightingBuffers | The number of input lighting buffers in the list (can be zero). |
[in] | emissiveEnvironment | The (optional) emissive environment to check for changes. |
Returns
Returns the number of updates since the last change to any input.
Geo::u32 GEO_CALL Enlighten::CalcDirectionalIrradianceMemory
public: Geo::u32GEO_CALL CalcDirectionalIrradianceMemory
(
const Enlighten::RadSystemCore * radCore
)
Tells you how much memory in a RadSystemCore is used by the directional irradiance technique.
This is provided for information purposes only (it doesn't relate to any memory buffer requirement).
Parameters
[in] | radCore | A non-null pointer to a valid RadSystemCore object. |
Returns
Required memory in bytes, 0xFFFFFFFF upon error.
Geo::u32 GEO_CALL Enlighten::CalcDirectionPaletteSize
public: Geo::u32GEO_CALL CalcDirectionPaletteSize()
Tells you how much memory is required to create a DirectionPalette, which is a required input to an Enlighten::EntireProbeSetTask.
Returns
Required memory in bytes, 0xFFFFFFFF upon error.
Geo::u32 GEO_CALL Enlighten::CalcIrradianceMemory
public: Geo::u32GEO_CALL CalcIrradianceMemory
(
const Enlighten::RadSystemCore * radCore)