This is the documentation for Enlighten.
class Enlighten BaseUpdateManager
class Enlighten::BaseUpdateManager
└>Enlighten::IUpdateManager
└>Geo::IGeoReleasable
Base implementation of the IUpdateManager interface. All update managers derive from this class.
Variables
Name | Description |
|---|---|
Geo::GeoKeyValueArray< Geo::GeoGuid, BaseCubeMap > m_CubeMapArray | Cube map GUID to data mapping. |
Geo::GeoKeyValueArray< Geo::GeoGuid, BaseDynamicObject > m_DynamicObjectArray | Dynamic object GUID to data mapping. |
Geo::GeoKeyValueArray< Geo::GeoGuid, BaseProbeSet > m_ProbeSetArray | ProbeSet GUID to data mapping. |
UpdateManagerProperties m_Properties | Properties which are set on creation. |
Geo::GeoKeyValueArray< Geo::GeoGuid, BaseSystem > m_SystemArray | These object arrays are render thread copies - they are updated on object creation and destruction. |
IUpdateManagerWorker * m_Worker | The radiosity worker! |
Functions
Name | Description |
|---|---|
Allocate a cube map. This will add the cube map to the update manager's list but it must be separately added to the worker's copy via EnqueueAddCubeMap(). | |
Allocate a cube map object. | |
Implementation-specific object allocator. | |
Allocate a dynamic object. This will add the object to the update manager's list but it must be separately added to the worker's copy via EnqueueAddDynamicObject. | |
AllocateDynamicObject(const Enlighten::DynamicObject &, bool) | Allocate a dynamic object. This will add the object to the update manager's list but it must be separately added to the worker's copy via EnqueueAddDynamicObject. |
Allocate a dynamic object. | |
Implementation-specific object allocator. | |
AllocateProbeSet(const RadProbeSetCore *, bool, Enlighten::eSHOrder, RawBuffer) | Allocate a probe set object. |
Allocate a probe set. This will add the probe set to the update manager's list but it must be separately added to the worker's copy via EnqueueAddProbeSet. | |
Implementation-specific object allocator. | |
AllocateStaticProbeSet(const RadProbeSetCore *, bool, Enlighten::eSHOrder, RawBuffer) | Allocate a probe set object that is not solved at runtime. |
AllocateStaticSystem(Geo::GeoGuid, InputLightingBuffer *, Geo::s32) | Allocate a radiosity system where the lighting does not change at runtime. |
Allocate a radiosity system where the lighting does not change at runtime. | |
AllocateSystem(const InputWorkspace *, const PrecomputedVisibilityData *, Geo::s32) | Allocate a radiosity system. |
Allocate a radiosity system. | |
Allocate a radiosity system. | |
Allocate a radiosity system. | |
AllocateSystem(const InputWorkspace *, const PrecomputedVisibilityData *, Geo::s32) | Allocate a system. |
AllocateSystem(const InputWorkspace *, const PrecomputedVisibilityData *) | Allocate a radiosity system. |
Implementation-specific object allocator. | |
Allocates system memory. | |
Allocate the solution space, which contains the textures and memory for the output, for a system. | |
AllocateSystemSolutionSpace(const RadSystemCore *, IGpuTexture *, eOutputFormat) | Allocate the solution space, which contains the textures and memory for the output, for a system. |
AllocateSystemSolutionSpace(const RadSystemCore *, IGpuTexture *) | Allocate the solution space, which contains the textures and memory for the output, for a system. |
AllocateSystemSolutionSpace(const RadSystemCore *, IGpuTexture *) | Allocate the solution space, which contains the textures and memory for the output, for a system. |
Allocate the solution space, which contains the textures and memory for the output, for a system. | |
AllocateSystemSolutionSpaceInternal(const RadSystemCore *, IGpuTexture *) | Allocates a system solution space. |
BaseUpdateManager(const UpdateManagerProperties &, const ILogHandler *) | Base class constructor. |
Wait until asynchronous processing has finished, then remove all objects from the update manager. | |
Wait until asynchronous processing has finished, then remove all objects from the udpate manager. | |
Destroy all objects. | |
Destroy objects marked for deletion by worker thread. | |
Advanced: remove a cube map from the render thread-side list, prior to its removal. | |
Advanced: remove a cube map from the render thread-side list, prior to its removal. | |
Advanced: remove a dynamic object from the render thread-side list, prior to its removal. | |
Advanced: remove a dynamic object from the render thread-side list, prior to its removal. | |
Advanced: remove a probe set from the render thread-side list, prior to its removal. | |
Advanced: remove a probe set from the render thread-side system list, prior to its removal. | |
Advanced: remove a system from the render thread-side system list, prior to its removal. | |
Advanced: remove a system from the render thread-side system list, prior to its removal. | |
Add a previously allocated cube map to the worker's list. | |
Add a previously allocated cube map to the worker's list. | |
Add a previously allocated dynamic object to the worker's list. | |
Add a previously allocated dynamic object to the worker's list. | |
Add a previously allocated probe set to the worker's list. | |
Add a previously allocated probe set to the worker's list. | |
Add a previously allocated system to the worker's list. | |
Add a previously allocated system to the worker's list. | |
Enqueues a command. The command will be executed on the worker thread if one exists, otherwise it will be executed immediately on the calling thread. | |
EnqueueReleaseSystemSolutionSpaces(ISystemSolutionSpace *const *, Geo::s32) | Enqueue system solution spaces release. |
EnqueueReleaseSystemSolutionSpaces(ISystemSolutionSpace *const *, Geo::s32) | Enqueue system solution spaces release. |
Removes all lights. | |
Removes all lights. | |
Remove or disable updates for a cube map. | |
Remove or disable updates for a cube map. | |
Removes a dynamic object. | |
Removes a dynamic object. | |
Removes an environment. | |
Removes an environment. | |
Removes a light. | |
Removes a light. | |
Remove or disable updates for a probe set. | |
Remove or disable updates for a probe set. | |
Remove or disable updates for a system. | |
Remove or disable updates for a system. | |
Enqueue system solution spaces remove. | |
Enqueue system solution spaces remove. | |
Set the update counters for all systems, probe sets and cube maps in the update manager. | |
Set the update counters for all systems, probe sets and cube maps in the update manager. | |
Set the flag which turns off temporal coherence for the next frame and performs a full solve from scratch. | |
Set the flag which turns off temporal coherence for the next frame and performs a full solve from scratch. | |
Set the light bank update counter for the given light bank. | |
Set the light bank update counter for the given light bank. | |
EnqueueSetObjectParameter(PointerType, void(ObjectType::*)(ParamType), ArgType &&) | Enqueues a command to set an object parameter. |
Set the Probe Set Manager object. | |
Set the Probe Set Manager object. | |
EnqueueSetProbeSetTransform(Geo::GeoGuid, const Geo::Matrix &) | Set the world-to-local-space transform for the given probe set. This will trigger a global recomputation of all probe interpolants. |
EnqueueSetProbeSetTransform(Geo::GeoGuid, const Geo::Matrix &) | Set the world-to-local-space transform for the given probe set. This will trigger a global recomputation of all probe interpolants. |
EnqueueSetVisibilityBits(Geo::GeoGuid, Geo::GeoGuid, void *) | Set the visibility data associated to a given (system/cube map, spotlight) pair. |
EnqueueSetVisibilityBits(Geo::GeoGuid, Geo::GeoGuid, void *) | Set the visibility data associated to a given (system/cube map, spotlight) pair. |
EnqueueSetWorkerProperties(const UpdateManagerWorkerProperties &) | Sets the worker's global state. |
EnqueueSetWorkerProperties(const UpdateManagerWorkerProperties &) | Enqueue a change to the worker's global state. |
EnqueueUpdateEmissiveEnvironment(Geo::GeoGuid, Geo::s32, const Geo::v128 *) | Update the environment with the given GUID. If this environment hasn't been updated before it will be added to the update manager. |
EnqueueUpdateEmissiveEnvironment(Geo::GeoGuid, Geo::s32, const Geo::v128 *) | Update the environment with the given GUID. If this environment hasn't been updated before it will be added to the update manager. |
EnqueueUpdateLight(const Geo::GeoGuid &, const LightType &, UpdateLightOptions) | Add the light. |
Wait for all commands to be executed before proceeding. This blocks the current thread, potentially for a long time. | |
Get the output texture for the cube map texture. | |
Get the output texture for the cube map texture. | |
GetDynamicObjectEnvironmentVisibilityShCoeff(Geo::GeoGuid, Geo::SHCoeff &) | Gets the environment visibility probe output for a given dynamic object. |
GetDynamicObjectEnvironmentVisibilityShCoeff(Geo::GeoGuid, Geo::SHCoeff &) | Gets the environment visibility probe output for a given dynamic object. |
GetDynamicObjectShCoeff(Geo::GeoGuid, Geo::SHCoeff &, Geo::SHCoeff &, Geo::SHCoeff &) | Gets the probe output for a given dynamic object. |
GetDynamicObjectShCoeff(Geo::GeoGuid, Geo::SHCoeff &, Geo::SHCoeff &, Geo::SHCoeff &) | Gets the probe output for a given dynamic object. |
Gets the precision hint of the input lighting buffer. | |
Returns number of cube maps registered with the update manager. | |
Returns number of cube maps registered with the update manager. | |
Returns number of dynamic objects registered with the update manager. | |
Returns number of dynamic objects registered with the update manager. | |
Returns number of probe sets registered with the update manager. | |
Returns number of probe sets registered with the update manager. | |
Returns number of systems registered with the update manager. | |
Returns number of systems registered with the update manager. | |
Gets the output texture of the given type for the given system. | |
Gets the output texture of the given type for the given system. | |
Returns information about the required PPPI output textures. | |
Returns the probe output for the given probe set and probe index, or NULL if the probe set produces compressed output. | |
Returns the probe output for the given probe set and probe index, or NULL if the probe set produces compressed output. | |
Returns the probe output if the probeset has been updated since this function was last called on it, otherwise NULL. | |
Returns the probe output if the probeset has been updated since this function was last called on it, otherwise NULL. | |
Get the total number of ticks spent updating GPU textures. | |
Get the total number of ticks spent updating GPU textures. | |
Returns the compressed probe output for the given probe set and probe index, or NULL if the probe set produces uncompressed output. | |
Returns the compressed probe output for the given probe set and probe index, or NULL if the probe set produces uncompressed output. | |
Gets the matrix to transform world space to UVW texture space for a dynamic object. | |
Gets the matrix to transform world space to UVW texture space for a dynamic object. | |
Returns true if the update manager has a cube map with this GUID; false if it doesn't. | |
Returns true if the update manager has a cube map with this GUID; false if it doesn't. | |
Returns true if the udpate manager has a dynamic object with this GUID. | |
Returns true if the update manager has a dynamic object with this GUID. | |
Returns true if the update manager has a probe set with this GUID; false if it doesn't. | |
Returns true if the update manager has a probe set with this GUID; false if it doesn't. | |
Returns true if the update manager has a system with this GUID; false if it doesn't. | |
Returns true if the update manager has a system with this GUID; false if it doesn't. | |
Returns true if the cube map update counter is 0 (ie no updates are pending for this cube map). | |
Returns true if the probe set update counter is 0 (ie no updates are pending for this probe set). | |
Returns true if the system update counter is 0 (ie no updates are pending for this system). | |
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? | |
Destroys the update manager and all the resources it owns. | |