Interface of the update manager worker.
Apart from the Find functions, which are used by worker functions (commands), these are the functions which can be enqueued by the main update manager thread. Custom commands can also be enqueued and run on the worker thread - see Command.h for details.
Name | Description |
---|---|
AddCubeMap(BaseCubeMap *const &) | Add a cube map to the worker. |
AddDynamicObject(BaseDynamicObject *const &) | Add a dynamic object to the worker. |
AddProbeSet(BaseProbeSet *const &) | Add a probe set to the worker. |
AddSystem(BaseSystem *const &) | Add a system to the worker, and allocate any required auxiliary resources. |
ClearCubeMapVolumeTransparency(Geo::GeoGuid const &) | Clears the cube map volume transparency. |
ClearSystemVolumeTransparency(Geo::GeoGuid const &) | Clears the system volume transparency. |
CopyAlbedoBuffer(CopyAlbedoBufferInfo const &) | Allocate and make a copy of an albedo buffer. |
CopyBounceBuffer(CopyBounceBufferInfo const &) | Allocate and make a copy of an emissive buffer. |
CopyEmissiveBuffer(CopyEmissiveBufferInfo const &) | Allocate and make a copy of an emissive buffer. |
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. |
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. |
CopyProbeOutput(CopyProbeOutputInfo const &) | Allocate and make a copy of Enlighten probe set output. |
CopyRawOutput(CopyRawOutputInfo const &) | Allocate and make a copy of raw Enlighten texture output. |
CopyVisibilityBuffer(CopyVisibilityBufferInfo const &) | Allocate and make a copy of a visibility data block. |
ExcludesEnvironmentInPrimaryBounce() | Returns the value of the worker property m_ExcludeEnvrionmentInPrimaryBounce. |
GetLightMethodSelector() | Gets the light method selector. |
GetSizeOfProbeInputWorkspaceMemory() | Get the total size of probe set output workspaces. |
GetSizeOfProbeOutputWorkspaceMemory() | Get the total size of probe set input workspaces. |
GetSizeOfWorkingMemory() | Get the size of the working memory required for solving. |
IsUpdateLimited() | Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled? |
ProbeSetManagerSetMaxWeightForProbeSet(Geo::GeoGuid const &, float) | Set max interpolation weight for a given probe set. |
ReadInputLightingBuffer(ReadInputLightingBufferInfo const &) | These functions are provided for debugging/visualisation purposes. |
ReleaseSystemSolutionSpaces(ReleaseSystemSolutionSpacesInfo const &) | Release the solution spaces. |
RemoveAllLights() | Remove all lights. |
RemoveCubeMap(RemoveInfo const &) | Remove a cube map from the worker (either completely or partially) |
RemoveDynamicObject(RemoveInfo const &) | Remove a dynamic object from the worker. |
RemoveEmissiveEnvironment(Geo::GeoGuid const &) | Remove the environment with the given id. |
RemoveLight(Geo::GeoGuid const &) | Remove the light with the given id. |
RemoveLightBank(Geo::s32 const &) | Remove a light bank. |
RemoveProbeSet(RemoveInfo const &) | Remove a probe set from the worker (either completely or partially) |
RemoveSystem(RemoveInfo const &) | Remove a system from the worker (either completely or partially) |
RemoveSystemSolutionSpaces(Geo::GeoGuid const &) | Removes the solution spaces from the system. This function will not release the solution spaces. |
SetAllUpdateCounters(Geo::s32 const &) | Set all system and probe update counters to count. |
SetDoFullSolveNextFrame() | Disable temporal coherence so a full solve is performed next frame. |
SetDoIndirectInputLightingNextFrame(Geo::GeoGuid const &) | Sets a flag to run indirect input lighting on the next frame. |
SetLightBankUpdateCounter(SetLightBankUpdateCounterInfo const &) | Set a light bank update counter. |
SetProbeSetManager(IProbeSetManager *const &) | Set a probe set manager. |
SetProbeSetTransform(SetProbeSetTransformInfo const &) | 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. |
SetTransparencySamplePositionOffset(SetTransparencySamplePositionOffsetInfo const &) | Sets the transparency sample position offset. |
SetVisibilityBits(SetVisibilityBitsInfo const &) | Sets the visibility block for a (system, light) pair. |
SetWorkerProperties(UpdateManagerWorkerProperties const &) | Set the worker global state. |
TriggerTransparencyVolume(const Enlighten::BoxVolume &) | Triggers a transparency volume. |
TriggerTransparencyVolume(const Enlighten::SphereVolume &) | Triggers a transparency volume. |
UpdateEmissiveEnvironment(UpdateEnvironmentInfo const &) | Update (or add) the environment with the given id. |
UpdateLight(UpdateLightInfo const &) | Update (or add) the light with the given id. |
UpdateRadiosity() | The main radiosity update function. |
public: void AddCubeMap
(
BaseCubeMap *const & cubeMap
)
Add a cube map to the worker.
public: void AddDynamicObject
(
BaseDynamicObject *const & dynamicObject
)
Add a dynamic object to the worker.
public: void AddProbeSet
(
BaseProbeSet *const & probeSet
)
Add a probe set to the worker.
public: void AddSystem
(
BaseSystem *const & system
)
Add a system to the worker, and allocate any required auxiliary resources.
public: void ClearCubeMapVolumeTransparency
(
Geo::GeoGuid const & cubeMapId
)
Clears the cube map volume transparency.
public: void ClearSystemVolumeTransparency
(
Geo::GeoGuid const & systemId
)
Clears the system volume transparency.
public: void CopyAlbedoBuffer
(
CopyAlbedoBufferInfo const & copyInfo
)
Allocate and make a copy of an albedo buffer.
public: void CopyBounceBuffer
(
CopyBounceBufferInfo const & copyInfo
)
Allocate and make a copy of an emissive buffer.
public: void CopyEmissiveBuffer
(
CopyEmissiveBufferInfo const & copyInfo
)
Allocate and make a copy of an emissive buffer.
public: void CopyEmissiveEnvironment
(
CopyEmissiveEnvironmentInfo const & copyEnvironmentInfo
)
Allocate and make a copy of an emissive environment.
public: void CopyGeometryTransparencyBuffer
(
CopyTransparencyBufferInfo const & copyInfo
)
Allocate and make a copy of a geoemtry transparency buffer.
public: void CopyInputLightingBuffer
(
CopyInputLightingBufferInfo const & copyInputLightingBufferInfo
)
Allocate and make a copy of an input lighting buffer.
public: void CopyMaterialTransparencyBuffer
(
CopyTransparencyBufferInfo const & copyInfo
)
Allocate and make a copy of a material transparency buffer.
public: void CopyProbeOutput
(
CopyProbeOutputInfo const & copyProbeOutputInfo
)
Allocate and make a copy of Enlighten probe set output.
public: void CopyRawOutput
(
CopyRawOutputInfo const & copyRawOutputInfo
)
Allocate and make a copy of raw Enlighten texture output.
public: void CopyVisibilityBuffer
(
CopyVisibilityBufferInfo const & copyVisibilityBufferInfo
)
Allocate and make a copy of a visibility data block.
public: bool ExcludesEnvironmentInPrimaryBounce() const
Returns the value of the worker property m_ExcludeEnvrionmentInPrimaryBounce.
public: LightMethodSelector * GetLightMethodSelector()
Gets the light method selector.
public: Geo::u32 GetSizeOfProbeInputWorkspaceMemory() const
Get the total size of probe set output workspaces.
public: Geo::u32 GetSizeOfProbeOutputWorkspaceMemory() const
Get the total size of probe set input workspaces.
public: Geo::u32 GetSizeOfWorkingMemory() const
Get the size of the working memory required for solving.
public: bool IsUpdateLimited() const
Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled?
public: void ProbeSetManagerSetMaxWeightForProbeSet
(
Geo::GeoGuid const & probeSetGuid,
float maxWeight
)
Set max interpolation weight for a given probe set.
public: void ReadInputLightingBuffer
(
ReadInputLightingBufferInfo const & parameters
)
These functions are provided for debugging/visualisation purposes.
Read back the contents of an input lighting buffer.
public: void ReleaseSystemSolutionSpaces
(
ReleaseSystemSolutionSpacesInfo const & releaseInfo
)
Release the solution spaces.
public: void RemoveAllLights()
Remove all lights.
public: void RemoveCubeMap
(
RemoveInfo const & removeInfo
)
Remove a cube map from the worker (either completely or partially)
public: void RemoveDynamicObject
(
RemoveInfo const & removeInfo
)
Remove a dynamic object from the worker.
public: void RemoveEmissiveEnvironment
(
Geo::GeoGuid const & environmentId
)
Remove the environment with the given id.
public: void RemoveLight
(
Geo::GeoGuid const & lightId
)
Remove the light with the given id.
public: void RemoveLightBank
(
Geo::s32 const & bankId
)
Remove a light bank.
public: void RemoveProbeSet
(
RemoveInfo const & removeInfo
)
Remove a probe set from the worker (either completely or partially)
public: void RemoveSystem
(
RemoveInfo const & removeInfo
)
Remove a system from the worker (either completely or partially)
public: void RemoveSystemSolutionSpaces
(
Geo::GeoGuid const & systemId
)
Removes the solution spaces from the system. This function will not release the solution spaces.
public: void SetAllUpdateCounters
(
Geo::s32 const & count
)
Set all system and probe update counters to count.
public: void SetDoFullSolveNextFrame()
Disable temporal coherence so a full solve is performed next frame.
public: void SetDoIndirectInputLightingNextFrame
(
Geo::GeoGuid const & systemId
)
Sets a flag to run indirect input lighting on the next frame.
public: void SetLightBankUpdateCounter
(
SetLightBankUpdateCounterInfo const & updateCounterInfo
)
Set a light bank update counter.
public: void SetProbeSetManager
(
IProbeSetManager *const & probeSetManager
)
Set a probe set manager.
public: void SetProbeSetTransform
(
SetProbeSetTransformInfo const & probeSetTransformInfo
)
Set a probe set world-to-local-space transform.
public: void SetSystemSolutionSpaces
(
ISystemSolutionSpace *const * solutionSpaces,
const Geo::s32 solutionSpacesCount,
const Geo::s32 indexForBounceResampling
)
Set the solution spaces used by a system.
Note that a system with a matching guid needs to already be added to the worker. This will only set the solution spaces if they all belong to the same system.
solutionSpaces | Raw array of ISystemSolutionSpace pointers |
|
solutionSpacesCount | Number of elements in the solutionSpaces array. |
|
indexForBounceResampling | The index for the solution space to use for bounce resampling. Should be the index of the solution space with the smallest output pixel size. |
public: void SetTransparencySamplePositionOffset
(
SetTransparencySamplePositionOffsetInfo const & offsetInfo
)
Sets the transparency sample position offset.
public: void SetVisibilityBits
(
SetVisibilityBitsInfo const & visibilityBitsInfo
)
Sets the visibility block for a (system, light) pair.
public: void SetWorkerProperties
(
UpdateManagerWorkerProperties const & properties
)
Set the worker global state.
public: void TriggerTransparencyVolume
(
const Enlighten::BoxVolume & volume
)
Triggers a transparency volume.
public: void TriggerTransparencyVolume
(
const Enlighten::SphereVolume & volume
)
Triggers a transparency volume.
public: void UpdateEmissiveEnvironment
(
UpdateEnvironmentInfo const & updateEnvironmentInfo
)
Update (or add) the environment with the given id.
public: void UpdateLight
(
UpdateLightInfo const & updateLightInfo
)
Update (or add) the light with the given id.
public: void UpdateRadiosity()
The main radiosity update function.