This is the documentation for Enlighten.
class Enlighten CpuSystem
class Enlighten::CpuSystem
└>Enlighten::BaseSystem
└>Geo::IGeoReleasable
System for the CPU solver.
Functions
Name | Description |
|---|---|
Allocates an albedo handler. | |
Allocate the InputLightingBuffers for this system. | |
Allocate the buffers for persistent data (bounce, temporal coherence) | |
Allocate the probe bounce buffer. | |
Allocate the transparency buffers. | |
Constructor. | |
Frees all memory required to update the radiosity, and disables further updates. | |
Free the probe bounce buffer. | |
Free any transparency buffers. | |
Freeze this systems input lighting. | |
Returns the main solution space in this system. | |
Returns the main solution space in this system. | |
Returns a solution space in this system. | |
Returns a solution space in this system. | |
Returns the current input lighting buffer. | |
Returns the current input lighting buffer. | |
Returns the sorted list of inputlightingbuffers to read from. | |
Returns the input lighting buffer corresponding to the light bank id, creating a new buffer if necessary. | |
Returns the array of input lighting buffers for the light banks. | |
Returns the number of input lighting buffers for the light banks. | |
Get the number of ticks spent updating GPU textures. | |
Returns the Transparency workspace if Transparency is enabled. | |
Returns the Transparency workspace if Transparency is enabled. | |
Property-setting functions which can be enqueued with EnqueueSetObjectParameter. | |
Returns a hash of the guids for all the input InputLightingBuffers and the environment. | |
Returns true if the input hash matches the stored hash. | |
Returns true if the input hash matches the stored hash. | |
InitStaticSystem(const Geo::GeoGuid &, InputLightingBuffer *, Geo::s32) | Initialise input lighting buffers with static data. |
Returns true if the system samples bounce from probes rather than the solver output. | |
Returns true if the system is static. | |
Returns true if the system includes additional (optional) transparency data. | |
PrepareInputLightingList(const Geo::GeoArray< const InputLightingBuffer * > &, Geo::u32) | Calculate th InputLightingBuffer list. |
Free this object that was created within the Enlighten libraries. | |
Free this object that was created within the Enlighten libraries. | |
Removes a cached light bank and frees its resources. | |
Property-setting functions which can be enqueued with EnqueueSetObjectParameter. | |
Property-setting functions which can be enqueued with EnqueueSetObjectParameter. | |
Set a custom directional visibility buffer. Will use precomputed directional vis data in srcBuffer is NULL. | |
Property-setting functions which can be enqueued with EnqueueSetObjectParameter. | |
Update the directional visibility. | |
Property-setting functions which can be enqueued with EnqueueSetObjectParameter. | |
Property-setting functions which can be enqueued with EnqueueSetObjectParameter. | |
Set a single solution space for this system. | |
SetSystemSolutionSpaces(ISystemSolutionSpace *const *, const Geo::s32, const Geo::s32) | Set multiple solution spaces for this system. |
Property-setting functions which can be enqueued with EnqueueSetObjectParameter. | |
Set whether or not Transparency should be computed in the HLRT. | |
Property-setting functions which can be enqueued with EnqueueSetObjectParameter. | |
Property-setting functions which can be enqueued with EnqueueSetObjectParameter. | |
Update textures using the marked solution buffers. | |
Update the stored hash with the given hash value. | |
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. |
Geo::u32 m_ProbeBounceInterpolationInputChangeId | The value of counter from the worker, as of the last time this system's probe bounce was updated. |
Enlighten::ProbeBounceWorkspace * m_ProbeBounceWorkspace | Buffer for storing probe bounce for a system. |
Geo::s64 m_TextureUpdateTicks | CPU ticks taken to update the texture. |
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. |
virtual BaseAlbedoHandler* Enlighten::CpuSystem::AllocateAlbedoHandler
public: virtual BaseAlbedoHandler * AllocateAlbedoHandler()
Allocates an albedo handler.
void Enlighten::CpuSystem::AllocateInputLightingBuffers
public: void AllocateInputLightingBuffers()
Allocate the InputLightingBuffers for this system.
virtual void Enlighten::CpuSystem::AllocatePersistentDataBuffers
public: virtual void AllocatePersistentDataBuffers
(
bool allocateEnvBounceBuffer
)
Allocate the buffers for persistent data (bounce, temporal coherence)
virtual void Enlighten::CpuSystem::AllocateProbeBounceWorkspace
public: virtual void AllocateProbeBounceWorkspace()
Allocate the probe bounce buffer.
virtual void Enlighten::CpuSystem::AllocateTransparencyBuffers
public: virtual void AllocateTransparencyBuffers()
Allocate the transparency buffers.
Enlighten::CpuSystem::CpuSystem
public: CpuSystem
(
PrecisionHint::Value precision
)
Constructor.
virtual void Enlighten::CpuSystem::DisableUpdatesAndFreeMemory
public: virtual void DisableUpdatesAndFreeMemory
(
bool keepInputLightResults
)
Frees all memory required to update the radiosity, and disables further updates.
Can also optionally free the input light memory - in which case other systems and probe sets will not receive light from this system during subsequent radiosity updates.
virtual void Enlighten::CpuSystem::FreeProbeBounceBuffer
public: virtual void FreeProbeBounceBuffer()
Free the probe bounce buffer.
virtual void Enlighten::CpuSystem::FreeTransparencyBuffer
public: virtual void FreeTransparencyBuffer()
Free any transparency buffers.
void Enlighten::CpuSystem::FreezeInputLighting
public: void FreezeInputLighting()
Freeze this systems input lighting.
CpuSystemSolutionSpace* Enlighten::CpuSystem::GetCpuSystemSolutionSpace
public: CpuSystemSolutionSpace * GetCpuSystemSolutionSpace()
Returns the main solution space in this system.
const CpuSystemSolutionSpace* Enlighten::CpuSystem::GetCpuSystemSolutionSpace
public: const CpuSystemSolutionSpace * GetCpuSystemSolutionSpace() const
Returns the main solution space in this system.
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. |
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. |
virtual const InputLightingBuffer* Enlighten::CpuSystem::GetInputLightingBuffer
public: virtual const InputLightingBuffer * GetInputLightingBuffer() const
Returns the current input lighting buffer.
virtual InputLightingBuffer* Enlighten::CpuSystem::GetInputLightingBuffer
public: virtual InputLightingBuffer * GetInputLightingBuffer()
Returns the current input lighting buffer.
const InputLightingBuffer** Enlighten::CpuSystem::GetInputLightingList
public: const InputLightingBuffer ** GetInputLightingList() const
Returns the sorted list of inputlightingbuffers to read from.
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.
virtual IncidentLightingBuffer** Enlighten::CpuSystem::GetLightBankBuffers
public: virtual IncidentLightingBuffer ** GetLightBankBuffers()
Returns the array of input lighting buffers for the light banks.
Geo::s32 Enlighten::CpuSystem::GetNumLightBankBuffers
public: Geo::s32 GetNumLightBankBuffers()
Returns the number of input lighting buffers for the light banks.
virtual Geo::s64 Enlighten::CpuSystem::GetTextureUpdateTicks
public: virtual Geo::s64 GetTextureUpdateTicks() const
Get the number of ticks spent updating GPU textures.
const Enlighten::TransparencyWorkspace* Enlighten::CpuSystem::GetTransparencyWorkspace
public: const Enlighten::TransparencyWorkspace * GetTransparencyWorkspace() const
Returns the Transparency workspace if Transparency is enabled.
Otherwise return NULL.
Enlighten::TransparencyWorkspace* Enlighten::CpuSystem::GetTransparencyWorkspace
public: Enlighten::TransparencyWorkspace * GetTransparencyWorkspace()
Returns the Transparency workspace if Transparency is enabled.
Otherwise return NULL.
bool Enlighten::BaseSystem::HasAlbedoData
public: bool HasAlbedoData()
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
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.
bool Enlighten::CpuSystem::HasLightingInputsChanged
public: bool HasLightingInputsChanged
(
Geo::u32 inputLightingHash
) const
Returns true if the input hash matches the stored hash.
bool Enlighten::CpuSystem::HasWorkerPropertiesChanged
public: bool HasWorkerPropertiesChanged
(
Geo::u32 workerPropertiesHash
) const
Returns true if the input hash matches the stored hash.