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