This is the documentation for Enlighten.
class Enlighten BaseWorker
class Enlighten::BaseWorker
└>Enlighten::IUpdateManagerWorker
Base implementation of the worker class, containing functionality common to all platforms.
Functions
Name | Description |
|---|---|
Add a cube map to the worker. | |
Add a cube map to the worker. | |
Add a dynamic object to the worker. | |
Add a dynamic object to the worker. | |
Add a probe set to the worker. | |
Add a probe set to the worker. | |
Add a system to the worker, and allocate any required auxiliary resources. | |
Add a system to the worker, and allocate any required auxiliary resources. | |
Allocates/Frees memory for visibility data. | |
Base class constructor. | |
Remove all objects from the worker, and free memory allocated by the worker. | |
Clears the cube map volume transparency. | |
Clears the cube map volume transparency. | |
Clears the system volume transparency. | |
Clears the system volume transparency. | |
Allocate and make a copy of an albedo buffer. | |
Allocate and make a copy of an emissive buffer. | |
Allocate and make a copy of an emissive buffer. | |
CopyEmissiveEnvironment(CopyEmissiveEnvironmentInfo const &) | Allocate and make a copy of an emissive environment. |
CopyEmissiveEnvironment(CopyEmissiveEnvironmentInfo const &) | Allocate and make a copy of an emissive environment. |
CopyGeometryTransparencyBuffer(CopyTransparencyBufferInfo const &) | Allocate and make a copy of a geoemtry transparency buffer. |
CopyGeometryTransparencyBuffer(CopyTransparencyBufferInfo const &) | Copies the geometry transparency buffer. |
CopyInputLightingBuffer(CopyInputLightingBufferInfo const &) | Allocate and make a copy of an input lighting buffer. |
CopyMaterialTransparencyBuffer(CopyTransparencyBufferInfo const &) | Allocate and make a copy of a material transparency buffer. |
Allocate and make a copy of Enlighten probe set output. | |
Allocate and make a copy of Enlighten probe set output. | |
Allocate and make a copy of raw Enlighten texture output. | |
Allocate and make a copy of a visibility data block. | |
Decrements the update counters for all systems, probe sets, cube maps and light banks. | |
Release all the objects this worker constructed. | |
Do the interpolation for a single dynamic object, to allow multithreading. | |
Enqueues a command for later execution by the worker thread, if it is running. | |
Enqueue a radiosity update on the worker thread. | |
Have we requested to solve the environment in secondary bounce only. (ie skip primary bounce) | |
Returns the value of the worker property m_ExcludeEnvrionmentInPrimaryBounce. | |
Executes and destroys commands in the command ring buffer until the buffer is empty. | |
Finds the object with the given address. | |
Specialise the BaseWorker::FindObject to deal with a concrete type here. | |
Finds the object with the given GUID. | |
Finds the object with the given GUID. | |
Finds the object with the given GUID. | |
Finds the object with the given GUID. | |
Finds the object with the given GUID. | |
Allocates/Frees memory for visibility data. | |
Gets the precision hint for the input lighting buffer,. | |
Gets the light method selector. | |
Gets the light method selector. | |
Get the total size of probe set output workspaces. | |
Get the total size of probe set output workspaces. | |
Get the total size of probe set input workspaces. | |
Get the total size of probe set input workspaces. | |
Get the size of the working memory required for solving. | |
Get the size of the working memory required for solving. | |
Returns the array of systems. Used by the GeoMaya plug in to work out when to trigger refreshes. | |
Returns true if called on the worker thread, or if no worker thread is running. | |
Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled? | |
Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled? | |
Returns true if a separate worker thread is currently running, false if not. | |
ProbeSetManagerSetMaxWeightForProbeSet(Geo::GeoGuid const &, float) | Set max interpolation weight for a given probe set. |
ProbeSetManagerSetMaxWeightForProbeSet(Geo::GeoGuid const &, float) | Set max interpolation weight for a given probe set. |
PushMultipleObjectsToDestroy(Geo::IGeoReleasable *const *, Geo::s32) | Push a list of objects which has been removed from the worker on to a list to be destroyed by the rendering thread. |
Push an object which has been removed from the worker on to a list to be destroyed by the rendering thread. | |
ReadInputLightingBuffer(ReadInputLightingBufferInfo const &) | These functions are provided for debugging/visualisation purposes. |
Updates the probe interpolation inputs, if required. | |
ReleaseSystemSolutionSpaces(ReleaseSystemSolutionSpacesInfo const &) | Release the solution spaces. |
ReleaseSystemSolutionSpaces(ReleaseSystemSolutionSpacesInfo const &) | Release system solution spaces. |
Remove all lights. | |
Remove all lights. | |
Remove a cube map from the worker (either completely or partially) | |
Remove a cube map from the worker (either completely or partially) | |
Removes a light with the given GUID from the list of directional lights (if one is found), and frees the associated memory. | |
Remove a dynamic object from the worker. | |
Remove a dynamic object from the worker. | |
Remove the environment with the given id. | |
Remove the environment with the given id. | |
Remove the light with the given id. | |
Remove the light with the given id. | |
Remove a light bank. | |
Remove a light bank. | |
Removes a light with the given GUID from the list of lights without visibility (if one is found), and frees the associated memory. | |
Removes a light with the given GUID from the list of lights with visibility (if one is found), and frees the associated memory. | |
Remove a probe set from the worker (either completely or partially) | |
Remove a probe set from the worker (either completely or partially) | |
Remove a system from the worker (either completely or partially) | |
Remove a system from the worker (either completely or partially) | |
Removes the solution spaces from the system. This function will not release the solution spaces. | |
Removes the solution spaces from the system. This function will not release the solution spaces. | |
Re-register all objects with the profiler. | |
Set all system and probe update counters to count. | |
Set all system and probe update counters to count. | |
Disable temporal coherence so a full solve is performed next frame. | |
Disable temporal coherence so a full solve is performed next frame. | |
Sets a flag to run indirect input lighting on the next frame. | |
Sets a flag to run indirect input lighting on the next frame. | |
SetLightBankUpdateCounter(SetLightBankUpdateCounterInfo const &) | Set a light bank update counter. |
SetLightBankUpdateCounter(SetLightBankUpdateCounterInfo const &) | Set a light bank update counter. |
Set a probe set manager. | |
Set a probe set manager. | |
Set a probe set world-to-local-space transform. | |
Set a probe set world-to-local-space transform. | |
SetSystemSolutionSpaces(ISystemSolutionSpace *const *, const Geo::s32, const Geo::s32) | Set the solution spaces used by a system. |
SetSystemSolutionSpaces(ISystemSolutionSpace *const *, const Geo::s32, const Geo::s32) | Set the solution spaces used by a system. |
SetTransparencySamplePositionOffset(SetTransparencySamplePositionOffsetInfo const &) | Sets the transparency sample position offset. |
SetTransparencySamplePositionOffset(SetTransparencySamplePositionOffsetInfo const &) | Sets the transparency sample position offset. |
Sets the visibility block for a (system, light) pair. | |
Set the worker global state. | |
Set the worker global state. | |
Triggers a transparency volume. | |
Triggers a transparency volume. | |
Triggers a transparency volume. | |
Triggers a transparency volume. | |
Update (or add) the environment with the given id. | |
Update (or add) the light with the given id. | |
Update (or add) the light with the given id. | |
The main radiosity update function. | |
The main radiosity update function. | |
Write ordered list of visibility data pointers for the given system and light bank Returns TRUE if any of the light inputs have changed. |
Variables
Name | Description |
|---|---|
Geo::RingBuffer m_CommandBuffer | Buffer of enqueued commands. |
Geo::s64 m_CommandThreadTicks | Time taken to execute commands on the command thread. |
Geo::GeoKeyValueArray< Geo::GeoGuid, BaseCubeMap > m_CubeMapArray | Cube map GUID to data mapping. |
eOutputFormat m_CubemapOutputFormat | Cubemap output format (immutable) |
Geo::GeoCriticalSection m_DestroyArrayCriticalSection | Critical section for modifying the to-be-destroyed array. |
Geo::GeoKeyValueArray< Geo::GeoGuid, UpdateManagerLight > m_DirectionalLights | Array of directional lights. |
Geo::GeoMap< Geo::u32, DirectionPalette * > m_DirectionPalettes | Map of DirectionPalettes for use with EPSS. |
Geo::GeoKeyValueArray< Geo::GeoGuid, BaseDynamicObject > m_DynamicObjectArray | Dynamic object GUID to data mapping. |
Geo::GeoKeyValueArray< Geo::GeoGuid, BaseEnvironment > m_EnvironmentArray | Environment GUID to data mapping. |
Geo::GeoEvent m_ExecuteCommandEvent | Handle to event trigger to execute commands. |
UpdateManagerWorkerProperties m_GlobalState | Global solver parameters. |
bool m_InputLightingListDirty | Regenerate the hash of the InputLightingList. |
Geo::u32 m_InputLightingListHash | Hash of the list of InputLightingBuffers. |
PrecisionHint::Value m_InputLightingPrecisionHint | Input lighting precision hint. |
Geo::u32 m_InterpolationInputChangeId | Counter incremented when the list of probe inputs is recreated. |
bool m_InterpolationInputListRecreated | Flag set when the list of probe inputs was recreated. |
Geo::GeoArray< InterpolationInputSet > m_InterpolationInputSets |