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