class Enlighten::CpuCubeMap
└>Enlighten::BaseCubeMap
└>Geo::IGeoReleasable
Derived class of BaseCubeMap used by the CPU and console update managers.
Implementations need to provide interface to copy solution in memory to textures.
Variables
Name | Description |
---|---|
const InputLightingBuffer ** m_InputLightingList | Constant input data passed in and owned by the application. |
Geo::u32 m_InputLightingListHash | Hash of the input lighting Guids last time the InputLightingList was built. |
bool m_NewSolverOutputToCopy | Flag set when there is fresh output to copy to the GPU. |
const BounceBuffer ** m_RadiosityOnlyInputLightingList | Ordered list of pointers to BounceBuffers allocated and owned by each CpuSystem on which the cube map depends. |
Geo::GeoArray< CpuSystem * > m_SystemInputWorkspaceDependencies | Array of system dependencies in the correct order for passing input lighting buffers to the solve task. |
Functions
Name | Description |
---|---|
CpuCubeMap() | Constructor. |
DisableUpdatesAndFreeMemory() | Frees all memory required to update the cube map, and disables further updates. |
GetOutputPitchInBytes(Geo::s32) | Returns the pitch that Enlighten should use when writing the output buffer (texture) |
GetOutputPointer(Geo::s32) | Returns the memory location where Enlighten should write the output. |
HasMipMaps() | Whether this cube map has a mip chain. |
IsUpdatePending() | Are any irradiance buffers marked for an update? |
MarkUpdate(bool) | Mark solution buffer as requiring update in next call to UpdateGpuTexture. |
NonCopyable(NonCopyable &&) | Defaulted to allow move. |
operator=(NonCopyable &&) | Defaulted to allow move. |
PrepareInputLightingList(Geo::GeoArray< const InputLightingBuffer * > &, Geo::u32) | Prepare the InputLightingBuffer list for the solver. |
Release() | Free this object that was created within the Enlighten libraries. |
Release() | Free this object that was created within the Enlighten libraries. |
SetEmissiveEnvironment(Geo::GeoGuid) | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
SetFramesPerUpdate(Geo::s32) | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
SetGpuTexture(IGpuTexture *) | Sets an output texture for the system. |
SetUpdateCounter(Geo::s32) | Property-setting functions which can be enqueued with EnqueueSetObjectParameter. |
UpdateGpuTexture() | Update textures using the marked solution buffers. |
Anchor | ||||
---|---|---|---|---|
|
Enlighten::CpuCubeMap::CpuCubeMap
...
public: CpuCubeMap()
...
Constructor.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::CpuCubeMap::DisableUpdatesAndFreeMemory
...
public: virtual void DisableUpdatesAndFreeMemory()
...
Frees all memory required to update the cube map, and disables further updates.
Anchor | ||||
---|---|---|---|---|
|
virtual Geo::s32 Enlighten::CpuCubeMap::GetOutputPitchInBytes
...
public: virtual Geo::s32 GetOutputPitchInBytes
(
Geo::s32 faceIdx
) const
...
Returns the pitch that Enlighten should use when writing the output buffer (texture)
Anchor | ||||
---|---|---|---|---|
|
virtual void* Enlighten::CpuCubeMap::GetOutputPointer
...
public: virtual void * GetOutputPointer
(
Geo::s32 faceIdx
) const
...
Returns the memory location where Enlighten should write the output.
Anchor | ||||
---|---|---|---|---|
|
virtual bool Enlighten::CpuCubeMap::HasMipMaps
...
public: virtual bool HasMipMaps() const
...
Whether this cube map has a mip chain.
Anchor | ||||
---|---|---|---|---|
|
bool Enlighten::CpuCubeMap::IsUpdatePending
...
public: bool IsUpdatePending() const
...
Are any irradiance buffers marked for an update?
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::CpuCubeMap::MarkUpdate
...
public: virtual void MarkUpdate
(
bool v
)
...
Mark solution buffer as requiring update in next call to UpdateGpuTexture.
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 | ||||
---|---|---|---|---|
|
virtual void Enlighten::CpuCubeMap::PrepareInputLightingList
...
public: virtual void PrepareInputLightingList
(
Geo::GeoArray< const InputLightingBuffer * > & list,
Geo::u32 hash
)
...
Prepare the InputLightingBuffer list for the solver.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::BaseCubeMap::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 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 | ||||
---|---|---|---|---|
|
void Enlighten::BaseCubeMap::SetEmissiveEnvironment
...
public: void SetEmissiveEnvironment
(
Geo::GeoGuid id
)
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::BaseCubeMap::SetFramesPerUpdate
...
public: void SetFramesPerUpdate
(
Geo::s32 f
)
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
virtual void Enlighten::BaseCubeMap::SetGpuTexture
...
public: virtual void SetGpuTexture
(
IGpuTexture * gpuTexture
)
...
Sets an output texture for the system.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::BaseCubeMap::SetUpdateCounter
...
public: void SetUpdateCounter
(
Geo::s32 c
)
...
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::CpuCubeMap::UpdateGpuTexture
...
public: void UpdateGpuTexture()
...
Update textures using the marked solution buffers.