...
└>Enlighten::CpuUpdateManager
└>Enlighten::BaseUpdateManager
└>Enlighten::IUpdateManager
└>Geo::IGeoReleasable
An update manager for Enlighten that does CPU updates.
Functions
Name | Description |
---|---|
AllocateCubeMap(const RadCubeMapCore *, IGpuTexture *) | 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(). |
AllocateCubeMap(const RadCubeMapCore *, IGpuTexture *) | Allocate a cube map object. |
AllocateCubeMapInternal() | Implementation-specific object allocator. |
AllocateCubeMapInternal() | Implementation-specific object allocator. |
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. |
AllocateDynamicObject(const Enlighten::DynamicObject &) | Allocate a dynamic object. |
AllocateDynamicObject(const Enlighten::DynamicObject &) | 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. |
AllocateDynamicObjectInternal(const DynamicObject &) | Implementation-specific object allocator. |
AllocateDynamicObjectInternal(const DynamicObject &) | Implementation-specific object allocator. |
AllocateProbeSet(const RadProbeSetCore *, bool, Enlighten::eSHOrder, RawBuffer) | 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. |
AllocateProbeSet(const RadProbeSetCore *, bool, const Geo::v128 *, Enlighten::eSHOrder, RawBuffer) | 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. |
AllocateProbeSet(const RadProbeSetCore *, bool, Enlighten::eSHOrder, RawBuffer) | Allocate a probe set object. |
AllocateProbeSetImpl(const RadProbeSetCore *, bool, bool, const Geo::v128 *, Enlighten::eSHOrder, RawBuffer) | 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. |
AllocateProbeSetInternal() | Implementation-specific object allocator. |
AllocateProbeSetInternal() | Implementation-specific object allocator. |
AllocateStaticProbeSet(const RadProbeSetCore *, bool, Enlighten::eSHOrder, RawBuffer) | Allocate a probe set object that is not solved at runtime. |
AllocateStaticProbeSet(const RadProbeSetCore *, bool, Enlighten::eSHOrder, RawBuffer) | Allocate a static probe set. |
AllocateStaticSystem(Geo::GeoGuid, InputLightingBuffer *, Geo::s32) | Allocate a radiosity system where the lighting does not change at runtime. |
AllocateStaticSystem(Geo::GeoGuid, InputLightingBuffer *, Geo::s32) | Allocate a static system. This will add the system to the update manager's list of systems but it must separately be added to the worker's copy via EnqueueAddSystem. |
AllocateStaticSystem(Geo::GeoGuid, InputLightingBuffer *) | Allocate a radiosity system where the lighting does not change at runtime. |
AllocateSystem(const InputWorkspace *, const PrecomputedVisibilityData *, Geo::s32) | Allocate a radiosity system. |
AllocateSystem(const RadSystemCore *, const InputWorkspace *, const PrecomputedVisibilityData *, IGpuTexture *) | Allocate a radiosity system. |
AllocateSystem(const RadSystemCore *, const InputWorkspace *, const PrecomputedVisibilityData *, IGpuTexture *, Geo::s32) | Allocate a radiosity system. |
AllocateSystem(const InputWorkspace *, const PrecomputedVisibilityData *, Geo::s32) | Allocate a system. |
AllocateSystem(const RadSystemCore *, const InputWorkspace *, const PrecomputedVisibilityData *, IGpuTexture *, Geo::s32) | Allocate a radiosity system. |
AllocateSystem(const InputWorkspace *, const PrecomputedVisibilityData *) | Allocate a radiosity system. |
AllocateSystemInternal() | Implementation-specific object allocator. |
AllocateSystemInternal() | Implementation-specific object allocator. |
AllocateSystemMemory(Geo::GeoGuid) | Allocates system memory. |
AllocateSystemSolutionSpace(const RadSystemCore *, IGpuTexture *) | Allocate the solution space, which contains the textures and memory for the output, for a system. |
AllocateSystemSolutionSpace(const RadSystemCore *) | 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 *) | 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. |
AllocateSystemSolutionSpaceInternal(const RadSystemCore *, IGpuTexture *) | Allocates a system solution space. |
AllocateSystemSolutionSpaceInternal(const RadSystemCore *, IGpuTexture *) | Allocates a system solution space. |
BaseUpdateManager(const UpdateManagerProperties &, const ILogHandler *) | Base class constructor. |
Clear() | Remove all objects from the update manager and free all associated memory. |
Clear() | Wait until asynchronous processing has finished, then remove all objects from the update manager. |
Clear() | Wait until asynchronous processing has finished, then remove all objects from the udpate manager. |
CpuUpdateManager(const UpdateManagerProperties &, const ILogHandler *) | Protected constructor. Use the Create function of a derived class. |
Create(const UpdateManagerProperties &) | Create a multithread CPU update manager. |
DestroyAllObjects() | Destroy all objects. |
DestroyObjects() | Destroy objects marked for deletion by worker thread. |
DetachCubeMap(Geo::GeoGuid) | Advanced: remove a cube map from the render thread-side list, prior to its removal. |
DetachCubeMap(Geo::GeoGuid) | Advanced: remove a cube map from the render thread-side list, prior to its removal. |
DetachDynamicObject(Geo::GeoGuid) | Advanced: remove a dynamic object from the render thread-side list, prior to its removal. |
DetachDynamicObject(Geo::GeoGuid) | Advanced: remove a dynamic object from the render thread-side list, prior to its removal. |
DetachProbeSet(Geo::GeoGuid) | Advanced: remove a probe set from the render thread-side list, prior to its removal. |
DetachProbeSet(Geo::GeoGuid) | Advanced: remove a probe set from the render thread-side list, prior to its removal. |
DetachProbeSet(Geo::GeoGuid) | Advanced: remove a probe set from the render thread-side system list, prior to its removal. |
DetachSystem(Geo::GeoGuid) | Advanced: remove a system from the render thread-side system list, prior to its removal. |
DetachSystem(Geo::GeoGuid) | Advanced: remove a system from the render thread-side system list, prior to its removal. |
EnqueueAddCubeMap(BaseCubeMap *) | Add a previously allocated cube map to the worker's list. |
EnqueueAddCubeMap(BaseCubeMap *) | Add a previously allocated cube map to the worker's list. |
EnqueueAddDynamicObject(BaseDynamicObject *) | Add a previously allocated dynamic object to the worker's list. |
EnqueueAddDynamicObject(BaseDynamicObject *) | Add a previously allocated dynamic object to the worker's list. |
EnqueueAddProbeSet(BaseProbeSet *) | Add a previously allocated probe set to the worker's list. |
EnqueueAddProbeSet(BaseProbeSet *) | Add a previously allocated probe set to the worker's list. |
EnqueueAddSystem(BaseSystem *) | Add a previously allocated system to the worker's list. |
EnqueueAddSystem(BaseSystem *) | Add a previously allocated system to the worker's list. |
EnqueueCommand(CommandType &&) | 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. |
EnqueueRemoveAllLights() | Removes all lights. |
EnqueueRemoveAllLights() | Removes all lights. |
EnqueueRemoveCubeMap(Geo::GeoGuid, RemovalMode) | Remove or disable updates for a cube map. |
EnqueueRemoveCubeMap(Geo::GeoGuid, RemovalMode) | Remove or disable updates for a cube map. |
EnqueueRemoveDynamicObject(Geo::GeoGuid) | Removes a dynamic object. |
EnqueueRemoveDynamicObject(Geo::GeoGuid) | Removes a dynamic object. |
EnqueueRemoveEmissiveEnvironment(Geo::GeoGuid) | Removes an environment. |
EnqueueRemoveEmissiveEnvironment(Geo::GeoGuid) | Removes an environment. |
EnqueueRemoveLight(Geo::GeoGuid) | Removes a light. |
EnqueueRemoveLight(Geo::GeoGuid) | Removes a light. |
EnqueueRemoveProbeSet(Geo::GeoGuid, RemovalMode) | Remove or disable updates for a probe set. |
EnqueueRemoveProbeSet(Geo::GeoGuid, RemovalMode) | Remove or disable updates for a probe set. |
EnqueueRemoveSystem(Geo::GeoGuid, RemovalMode) | Remove or disable updates for a system. |
EnqueueRemoveSystem(Geo::GeoGuid, RemovalMode) | Remove or disable updates for a system. |
EnqueueRemoveSystemSolutionSpaces(Geo::GeoGuid) | Enqueue system solution spaces remove. |
EnqueueRemoveSystemSolutionSpaces(Geo::GeoGuid) | Enqueue system solution spaces remove. |
EnqueueSetAllUpdateCounters(Geo::s32) | Set the update counters for all systems, probe sets and cube maps in the update manager. |
EnqueueSetAllUpdateCounters(Geo::s32) | Set the update counters for all systems, probe sets and cube maps in the update manager. |
EnqueueSetDoFullSolveNextFrame() | Set the flag which turns off temporal coherence for the next frame and performs a full solve from scratch. |
EnqueueSetDoFullSolveNextFrame() | Set the flag which turns off temporal coherence for the next frame and performs a full solve from scratch. |
EnqueueSetLightBankUpdateCounter(Geo::s32, Geo::s32) | Set the light bank update counter for the given light bank. |
EnqueueSetLightBankUpdateCounter(Geo::s32, Geo::s32) | 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. |
EnqueueSetProbeSetManager(IProbeSetManager *) | Set the Probe Set Manager object. |
EnqueueSetProbeSetManager(IProbeSetManager *) | 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 &) | Enqueue a change to the worker's global state. |
EnqueueSetWorkerProperties(const UpdateManagerWorkerProperties &) | Sets 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. |
FlushCommands() | Wait for all commands to be executed before proceeding. This blocks the current thread, potentially for a long time. |
FlushCommands() | Wait until all commands currently in the queue have been executed. |
GetCubeMapTexture(Geo::GeoGuid) | Get the output texture for the cube map texture. |
GetCubeMapTexture(Geo::GeoGuid) | 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. |
GetInputLightingPrecisionHint() | Gets the precision hint of the input lighting buffer. |
GetNumCubeMaps() | Returns number of cube maps registered with the update manager. |
GetNumCubeMaps() | Returns number of cube maps registered with the update manager. |
GetNumDynamicObjects() | Returns number of dynamic objects registered with the update manager. |
GetNumDynamicObjects() | Returns number of dynamic objects registered with the update manager. |
GetNumProbeSets() | Returns number of probe sets registered with the update manager. |
GetNumProbeSets() | Returns number of probe sets registered with the update manager. |
GetNumSystems() | Returns number of systems registered with the update manager. |
GetNumSystems() | Returns number of systems registered with the update manager. |
GetOutputTexture(Geo::GeoGuid, OutputTextureType) | Gets the output texture of the given type for the given system. |
GetOutputTexture(Geo::GeoGuid, OutputTextureType) | Gets the output texture of the given type for the given system. |
GetPppiRequiredOutputTextures() | Returns information about the required PPPI output textures. |
GetProbeOutput(Geo::GeoGuid, Geo::s32) | Returns the probe output for the given probe set and probe index, or NULL if the probe set produces compressed output. |
GetProbeOutput(Geo::GeoGuid, Geo::s32) | Returns the probe output for the given probe set and probe index, or NULL if the probe set produces compressed output. |
GetProbeOutputIfUpdated(Geo::GeoGuid, Geo::s32 *) | Returns the probe output if the probeset has been updated since this function was last called on it, otherwise NULL. |
GetProbeOutputIfUpdated(Geo::GeoGuid, Geo::s32 *) | Returns the probe output if the probeset has been updated since this function was last called on it, otherwise NULL. |
GetTextureUpdateTicks() | Get the total number of ticks spent updating GPU textures. |
GetTextureUpdateTicks() | Get the total number of ticks spent updating GPU textures. |
GetTextureUpdateTicks() | Get the total number of ticks spent updating GPU textures. |
GetU8ProbeOutput(Geo::GeoGuid, Geo::s32) | Returns the compressed probe output for the given probe set and probe index, or NULL if the probe set produces uncompressed output. |
GetU8ProbeOutput(Geo::GeoGuid, Geo::s32) | Returns the compressed probe output for the given probe set and probe index, or NULL if the probe set produces uncompressed output. |
GetWorldToUvwMatrix(Geo::GeoGuid) | Gets the matrix to transform world space to UVW texture space for a dynamic object. |
GetWorldToUvwMatrix(Geo::GeoGuid) | Gets the matrix to transform world space to UVW texture space for a dynamic object. |
HasCubeMap(Geo::GeoGuid) | Returns true if the update manager has a cube map with this GUID; false if it doesn't. |
HasCubeMap(Geo::GeoGuid) | Returns true if the update manager has a cube map with this GUID; false if it doesn't. |
HasDynamicObject(Geo::GeoGuid) | Returns true if the udpate manager has a dynamic object with this GUID. |
HasDynamicObject(Geo::GeoGuid) | Returns true if the update manager has a dynamic object with this GUID. |
HasProbeSet(Geo::GeoGuid) | Returns true if the update manager has a probe set with this GUID; false if it doesn't. |
HasProbeSet(Geo::GeoGuid) | Returns true if the update manager has a probe set with this GUID; false if it doesn't. |
HasSystem(Geo::GeoGuid) | Returns true if the update manager has a system with this GUID; false if it doesn't. |
HasSystem(Geo::GeoGuid) | Returns true if the update manager has a system with this GUID; false if it doesn't. |
IsCubeMapStatic(Geo::GeoGuid) | Returns true if the cube map update counter is 0 (ie no updates are pending for this cube map). |
IsProbeSetStatic(Geo::GeoGuid) | Returns true if the probe set update counter is 0 (ie no updates are pending for this probe set). |
IsSystemStatic(Geo::GeoGuid) | Returns true if the system update counter is 0 (ie no updates are pending for this system). |
IsUpdateLimited() | Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled? |
IsUpdateLimited() | Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled? |
LoadInputLightingBuffer(Geo::GeoGuid, const char *) | Loads light buffer dump data into the given system's input lighting buffer. |
LoadProbeTaskDump(Geo::GeoGuid, const char *) | Loads probe task dump data into the given probe set's output buffer. |
LoadRadTaskDump(Geo::GeoGuid, const char *) | Debug functions. |
MultithreadCpuUpdateManager(const UpdateManagerProperties &, const ILogHandler *) | Protected constructor. Do not call directly, use Create instead. |
Release() | Destroys the update manager and all the resources it owns. |
Release() | Free this object that was created within the Enlighten libraries. |
Release() | Destroys the update manager and all the resources it owns. |
RequiresVisibilityDataOnCpu() | Returns true for Update Managers that require spotlight visibility to be copied to the CPU before it can be used. |
RequiresVisibilityDataOnCpu() | Returns true for Update Managers that require spotlight visibility to be copied to the CPU before it can be used. |
SetGpuTexture(Geo::GeoGuid, IGpuTexture *) | Sets an output texture for the given cube map. |
SetGpuTexture(Geo::GeoGuid, OutputTextureType, IGpuTexture *) | Sets an output texture for the given system. |
SetGpuTexture(Geo::GeoGuid, ProbeVolumeOutputTextureType, IGpuTexture *) | Sets an output texture for the given dynamic object. |
SetPppiOutputWorkspace(const PppiOutputWorkspace &, IPppiTextureUpdateHandler *) | Use the provided PPPI output textures. |
StopWorking() | Tell the worker thread to quit and wait until it does. |
StopWorking() | Wait for all asynchronous processing to finish, then quit the worker thread(s), if any. |
Update() | The main update function. |
Update() | The main update function. This should be called once per frame from the rendering thread. |
UpdateGpuTextures() | Update the GPU textures of all objects. |
UpdatePppi(const Geo::v128 &, const IViewVolumeIntersector *, float) | Update PPPI indirection texture based on the view origin. |
UpdatePppiBorder(const PppiIrradiance &) | Update the lighting for parts of the PPPI volume not covered by any probe set. |
...
[in] | properties | The UpdateManagerProperties class contains parameters common to all implementations. |
[in] | logger | This is attached to the GeoAttachLogger/GeoDetachLogger API in order to connect up the ILogHandler to all Enlighten messages. |
Anchor | ||||
---|---|---|---|---|
|
...
Free this object that was created within the Enlighten libraries.
Expect this to behave in a similar way to calling 'delete(this)'
...