class Enlighten::CpuSystem
└>Enlighten::BaseSystem
└>Geo::IGeoReleasable
System for the CPU solver.
Functions
Name | Description |
---|---|
AllocateAlbedoHandler() | Allocates an albedo handler. |
AllocateInputLightingBuffers() | Allocate the InputLightingBuffers for this system. |
AllocatePersistentDataBuffers(bool) | Allocate the buffers for persistent data (bounce, temporal coherence) |
AllocateTransparencyBuffers() | Allocate the transparency buffers. |
CpuSystem(PrecisionHint::Value) | Constructor. |
FreeTransparencyBuffer() | Free any transparency buffers. |
FreezeInputLighting() | Freeze this systems input lighting. |
GetCpuSystemSolutionSpace(const Geo::s32) | Returns a solution space in this system. |
GetCpuSystemSolutionSpace(const Geo::s32) | Returns a solution space in this system. |
GetCpuSystemSolutionSpace() | Returns the main solution space in this system. |
GetCpuSystemSolutionSpace() | Returns the main solution space in this system. |
GetInputLightingBuffer() | Returns the current input lighting buffer. |
GetInputLightingBuffer() | Returns the current input lighting buffer. |
GetInputLightingList() | Returns the sorted list of inputlightingbuffers to read from. |
GetLightBankBuffer(Geo::s32) | Returns the input lighting buffer corresponding to the light bank id, creating a new buffer if necessary. |
GetLightBankBuffers() | Returns the array of input lighting buffers for the light banks. |
GetNumLightBankBuffers() | Returns the number of input lighting buffers for the light banks. |
GetTransparencyWorkspace() | Returns the Transparency workspace if Transparency is enabled. |
GetTransparencyWorkspace() | Returns the Transparency workspace if Transparency is enabled. |
HasAlbedoData() | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
HashLightingInputs(const Enlighten::InputLightingBuffer *) | Returns a hash of the guids for all the input InputLightingBuffers and the environment. |
HasLightingInputsChanged(Geo::u32) | Returns true if the input hash matches the stored hash. |
HasWorkerPropertiesChanged(Geo::u32) | Returns true if the input hash matches the stored hash. |
InitStaticSystem(const Geo::GeoGuid &, InputLightingBuffer *, Geo::s32) | Initialise input lighting buffers with static data. |
IsTransparencySampled() | Returns true if the system includes additional (optional) transparency data. |
NonCopyable(NonCopyable &&) | Defaulted to allow move. |
operator=(NonCopyable &&) | Defaulted to allow move. |
PrepareInputLightingList(const Geo::GeoArray< const InputLightingBuffer * > &, Geo::u32) | Calculate th InputLightingBuffer list. |
Release() | Free this object that was created within the Enlighten libraries. |
Release() | Free this object that was created within the Enlighten libraries. |
RemoveLightBankBuffer(Geo::s32) | Removes a cached light bank and frees its resources. |
SetAlbedoData(Enlighten::SystemAlbedoData) | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
SetBounceScale(float) | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
SetCustomDirectionalVisibility(void *, Geo::s32) | Set a custom directional visibility buffer. Will use precomputed directional vis data in srcBuffer is NULL. |
SetDirectionalLightInputScale(float) | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
SetDirectionalVisibility(const Geo::v128 &, Geo::s32) | Update the directional visibility. |
SetEmissiveEnvironment(Geo::GeoGuid) | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
SetFramesPerUpdate(Geo::s32) | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
SetSystemSolutionSpace(ISystemSolutionSpace *) | Set a single solution space for this system. |
SetSystemSolutionSpaces(ISystemSolutionSpace *const *, const Geo::s32, const Geo::s32) | Set multiple solution spaces for this system. |
SetTemporalCoherenceThreshold(float) | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
SetTransparencyEnabled(bool) | Set whether or not Transparency should be computed in the HLRT. |
SetUpdateCounter(Geo::s32) | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
UpdateFrameCounter() | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
UpdateGpuTexture() | Update textures using the marked solution buffers. |
UpdateInputLightingHash(Geo::u32) | Update the stored hash with the given hash value. |
UpdateWorkerPropertiesHash(Geo::u32) | Update the stored hash with the given hash value. |
Variables
Name | Description |
---|---|
Enlighten::BounceBuffer * m_BounceBuffer | Buffer containing bounce per cluster. |
Geo::GeoArray< CpuSystem * > m_Dependencies | Array of system dependencies in the correct order for passing input lighting buffers to the solve task. |
Enlighten::BounceBuffer * m_EnvOnlyBounceBuffer | Buffer containing bounce per cluster, but only for the environment. |
InputLightingBuffer * m_InputLightingBuffer | Current input lighting buffer. |
const InputLightingBuffer ** m_InputLightingList | Ordered list of input lighting buffers this system reads from. |
Geo::u32 m_InputLightingListHash | Hash of the input lighting Guids last time the InputLightingList was built. |
PrecisionHint::Value m_InputLightingPrecisionHint | Hint for precision used for storing input lighting. |
bool m_TransparencyInterpolantsNeedUpdate | If true, the transparency interpolants will be recalculated. |
Geo::u32 m_TransparencyInterpolationInputChangeId | The value of counter from the worker, as of the last time this system's transparency was updated. |
bool m_TransparencyVolumeUpdated | If true, the transparency workspace will be updated. |
Enlighten::TransparencyWorkspace * m_TransparencyWorkspace | Enlighten intermediate data allocated and owned by the UpdateManager. |
Geo::GeoArray< bool > m_UseCustomDirectionalVisibility | Array of boolean values indication if the HLRT should use custom provided visibility or recalculate visibility. |
Anchor | ||||
---|---|---|---|---|
|
virtual BaseAlbedoHandler* Enlighten::CpuSystem::AllocateAlbedoHandler
...
public: virtual BaseAlbedoHandler * AllocateAlbedoHandler()
...
Allocates an albedo handler.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::CpuSystem::AllocateInputLightingBuffers
...
public: void AllocateInputLightingBuffers()
...
Allocate the InputLightingBuffers for this system.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::CpuSystem::AllocatePersistentDataBuffers
...
public: virtual void AllocatePersistentDataBuffers
(
bool allocateEnvBounceBuffer
)
...
Allocate the buffers for persistent data (bounce, temporal coherence)
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::CpuSystem::AllocateTransparencyBuffers
...
public: virtual void AllocateTransparencyBuffers()
...
Allocate the transparency buffers.
Anchor | ||||
---|---|---|---|---|
|
Enlighten::CpuSystem::CpuSystem
...
public: CpuSystem
(
PrecisionHint::Value precision
)
...
Constructor.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::CpuSystem::FreeTransparencyBuffer
...
public: virtual void FreeTransparencyBuffer()
...
Free any transparency buffers.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::CpuSystem::FreezeInputLighting
...
public: void FreezeInputLighting()
...
Freeze this systems input lighting.
Anchor | ||||
---|---|---|---|---|
|
const CpuSystemSolutionSpace* Enlighten::CpuSystem::GetCpuSystemSolutionSpace
...
public: const CpuSystemSolutionSpace * GetCpuSystemSolutionSpace
(
const Geo::s32 index
) const
...
Returns a solution space in this system.
Parameters
index | The index of the solution space. |
Anchor | ||||
---|---|---|---|---|
|
CpuSystemSolutionSpace* Enlighten::CpuSystem::GetCpuSystemSolutionSpace
...
public: CpuSystemSolutionSpace * GetCpuSystemSolutionSpace
(
const Geo::s32 index
)
...
Returns a solution space in this system.
Parameters
index | The index of the solution space. |
Anchor | ||||
---|---|---|---|---|
|
const CpuSystemSolutionSpace* Enlighten::CpuSystem::GetCpuSystemSolutionSpace
...
public: const CpuSystemSolutionSpace * GetCpuSystemSolutionSpace() const
...
Returns the main solution space in this system.
Anchor | ||||
---|---|---|---|---|
|
CpuSystemSolutionSpace* Enlighten::CpuSystem::GetCpuSystemSolutionSpace
...
public: CpuSystemSolutionSpace * GetCpuSystemSolutionSpace()
...
Returns the main solution space in this system.
Anchor | ||||
---|---|---|---|---|
|
virtual InputLightingBuffer* Enlighten::CpuSystem::GetInputLightingBuffer
...
public: virtual InputLightingBuffer * GetInputLightingBuffer()
...
Returns the current input lighting buffer.
Anchor | ||||
---|---|---|---|---|
|
virtual const InputLightingBuffer* Enlighten::CpuSystem::GetInputLightingBuffer
...
public: virtual const InputLightingBuffer * GetInputLightingBuffer() const
...
Returns the current input lighting buffer.
Anchor | ||||
---|---|---|---|---|
|
const InputLightingBuffer** Enlighten::CpuSystem::GetInputLightingList
...
public: const InputLightingBuffer ** GetInputLightingList() const
...
Returns the sorted list of inputlightingbuffers to read from.
Anchor | ||||
---|---|---|---|---|
|
IncidentLightingBuffer* Enlighten::CpuSystem::GetLightBankBuffer
...
public: IncidentLightingBuffer * GetLightBankBuffer
(
Geo::s32 lightBankId
)
...
Returns the input lighting buffer corresponding to the light bank id, creating a new buffer if necessary.
Anchor | ||||
---|---|---|---|---|
|
virtual IncidentLightingBuffer** Enlighten::CpuSystem::GetLightBankBuffers
...
public: virtual IncidentLightingBuffer ** GetLightBankBuffers()
...
Returns the array of input lighting buffers for the light banks.
Anchor | ||||
---|---|---|---|---|
|
Geo::s32 Enlighten::CpuSystem::GetNumLightBankBuffers
...
public: Geo::s32 GetNumLightBankBuffers()
...
Returns the number of input lighting buffers for the light banks.
Anchor | ||||
---|---|---|---|---|
|
const Enlighten::TransparencyWorkspace* Enlighten::CpuSystem::GetTransparencyWorkspace
...
public: const Enlighten::TransparencyWorkspace * GetTransparencyWorkspace() const
...
Returns the Transparency workspace if Transparency is enabled.
Otherwise return NULL.
Anchor | ||||
---|---|---|---|---|
|
Enlighten::TransparencyWorkspace* Enlighten::CpuSystem::GetTransparencyWorkspace
...
public: Enlighten::TransparencyWorkspace * GetTransparencyWorkspace()
...
Returns the Transparency workspace if Transparency is enabled.
Otherwise return NULL.
Anchor | ||||
---|---|---|---|---|
|
bool Enlighten::BaseSystem::HasAlbedoData
...
public: bool HasAlbedoData()
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
Geo::u32 Enlighten::CpuSystem::HashLightingInputs
...
public: Geo::u32 HashLightingInputs
(
const Enlighten::InputLightingBuffer * environment
)
...
Returns a hash of the guids for all the input InputLightingBuffers and the environment.
Anchor | ||||
---|---|---|---|---|
|
bool Enlighten::CpuSystem::HasLightingInputsChanged
...
public: bool HasLightingInputsChanged
(
Geo::u32 inputLightingHash
) const
...
Returns true if the input hash matches the stored hash.
Anchor | ||||
---|---|---|---|---|
|
bool Enlighten::CpuSystem::HasWorkerPropertiesChanged
...
public: bool HasWorkerPropertiesChanged
(
Geo::u32 workerPropertiesHash
) const
...
Returns true if the input hash matches the stored hash.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::CpuSystem::InitStaticSystem
...
public: virtual void InitStaticSystem
(
const Geo::GeoGuid & guid,
InputLightingBuffer * inputLightingBuffer,
Geo::s32 lightChannels
)
...
Initialise input lighting buffers with static data.
Anchor | ||||
---|---|---|---|---|
|
bool Enlighten::CpuSystem::IsTransparencySampled
...
public: bool IsTransparencySampled() const
...
Returns true if the system includes additional (optional) transparency data.
Anchor | ||||
---|---|---|---|---|
|
Geo::NonCopyable::NonCopyable
...
public: NonCopyable
(
NonCopyable &&
)
...
Defaulted to allow move.
Anchor | ||||
---|---|---|---|---|
|
NonCopyable& Geo::NonCopyable::operator=
...
public: NonCopyable & operator=
(
NonCopyable &&
)
...
Defaulted to allow move.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::CpuSystem::PrepareInputLightingList
...
public: void PrepareInputLightingList
(
const Geo::GeoArray< const InputLightingBuffer * > & list,
Geo::u32 hash
)
...
Calculate th InputLightingBuffer list.
Anchor | ||||
---|---|---|---|---|
|
virtual void Geo::IGeoReleasable::Release
...
public: void Release()
...
Free this object that was created within the Enlighten libraries.
Expect this to behave in a similar way to calling 'delete(this)'
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::BaseSystem::Release
...
protected: virtual void Release()
...
Free this object that was created within the Enlighten libraries.
Expect this to behave in a similar way to calling 'delete(this)'
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::CpuSystem::RemoveLightBankBuffer
...
public: virtual void RemoveLightBankBuffer
(
Geo::s32 lightBankId
)
...
Removes a cached light bank and frees its resources.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::BaseSystem::SetAlbedoData
...
public: virtual void SetAlbedoData
(
Enlighten::SystemAlbedoData albedoData
)
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::BaseSystem::SetBounceScale
...
public: void SetBounceScale
(
float s
)
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::CpuSystem::SetCustomDirectionalVisibility
...
public: void SetCustomDirectionalVisibility
(
void * srcBuffer,
Geo::s32 lightIndex
)
...
Set a custom directional visibility buffer. Will use precomputed directional vis data in srcBuffer is NULL.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::BaseSystem::SetDirectionalLightInputScale
...
public: void SetDirectionalLightInputScale
(
float s
)
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::CpuSystem::SetDirectionalVisibility
...
public: virtual void SetDirectionalVisibility
(
const Geo::v128 & visibility,
Geo::s32 lightIndex
)
...
Update the directional visibility.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::BaseSystem::SetEmissiveEnvironment
...
public: void SetEmissiveEnvironment
(
Geo::GeoGuid id
)
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::BaseSystem::SetFramesPerUpdate
...
public: void SetFramesPerUpdate
(
Geo::s32 f
)
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::BaseSystem::SetSystemSolutionSpace
...
public: void SetSystemSolutionSpace
(
ISystemSolutionSpace * solutionSpace
)
...
Set a single solution space for this system.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::BaseSystem::SetSystemSolutionSpaces
...
public: void SetSystemSolutionSpaces
(
ISystemSolutionSpace *const * solutionSpaces,
const Geo::s32 solutionSpacesCount,
const Geo::s32 indexForBounceResampling
)
...
Set multiple solution spaces for this system.
The order of the elements in the input array is NOT preserved.
Parameters
solutionSpaces | An array of solution spaces with different output pixel sizes. | |
solutionSpacesCount | Number of solution spaces in the 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 | ||||
---|---|---|---|---|
|
void Enlighten::BaseSystem::SetTemporalCoherenceThreshold
...
public: void SetTemporalCoherenceThreshold
(
float t
)
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::BaseSystem::SetTransparencyEnabled
...
public: void SetTransparencyEnabled
(
bool enabled
)
...
Set whether or not Transparency should be computed in the HLRT.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::BaseSystem::SetUpdateCounter
...
public: virtual void SetUpdateCounter
(
Geo::s32 c
)
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::BaseSystem::UpdateFrameCounter
...
public: void UpdateFrameCounter()
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::CpuSystem::UpdateGpuTexture
...
public: virtual void UpdateGpuTexture()
...
Update textures using the marked solution buffers.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::CpuSystem::UpdateInputLightingHash
...
public: void UpdateInputLightingHash
(
Geo::u32 inputLightingHash
)
...
Update the stored hash with the given hash value.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::CpuSystem::UpdateWorkerPropertiesHash
...
public: void UpdateWorkerPropertiesHash
(
Geo::u32 workerPropertiesHash
)
...
Update the stored hash with the given hash value.