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. |
IsStatic() | Returns true if the cube map is static. |
IsUpdatePending() | Are any irradiance buffers marked for an update? |
MarkUpdate(bool) | Mark solution buffer as requiring update in next call to UpdateGpuTexture. |
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. |
Enlighten::CpuCubeMap::CpuCubeMap
public: CpuCubeMap()
Constructor.
virtual void Enlighten::CpuCubeMap::DisableUpdatesAndFreeMemory
public: virtual void DisableUpdatesAndFreeMemory()
Frees all memory required to update the cube map, and disables further updates.
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)
virtual void* Enlighten::CpuCubeMap::GetOutputPointer
public: virtual void * GetOutputPointer
(
Geo::s32 faceIdx
) const
Returns the memory location where Enlighten should write the output.
virtual bool Enlighten::CpuCubeMap::HasMipMaps
public: virtual bool HasMipMaps() const
Whether this cube map has a mip chain.
virtual bool Enlighten::CpuCubeMap::IsStatic
public: virtual bool IsStatic() const
Returns true if the cube map is static.
bool Enlighten::CpuCubeMap::IsUpdatePending
public: bool IsUpdatePending() const
Are any irradiance buffers marked for an update?
virtual void Enlighten::CpuCubeMap::MarkUpdate
public: virtual void MarkUpdate
(
bool v
)
Mark solution buffer as requiring update in next call to UpdateGpuTexture.
virtual void Enlighten::CpuCubeMap::PrepareInputLightingList
public: virtual void PrepareInputLightingList
(
Geo::GeoArray< const InputLightingBuffer * > & list,
Geo::u32 hash
)
Prepare the InputLightingBuffer list for the solver.
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)'
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)'
void Enlighten::BaseCubeMap::SetEmissiveEnvironment
public: void SetEmissiveEnvironment
(
Geo::GeoGuid id
)
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
void Enlighten::BaseCubeMap::SetFramesPerUpdate
public: void SetFramesPerUpdate
(
Geo::s32 f
)
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
virtual void Enlighten::BaseCubeMap::SetGpuTexture
public: virtual void SetGpuTexture
(
IGpuTexture * gpuTexture
)
Sets an output texture for the system.
void Enlighten::BaseCubeMap::SetUpdateCounter
public: void SetUpdateCounter
(
Geo::s32 c
)
Property-setting functions which can be enqueued with EnqueueSetObjectParameter.
void Enlighten::CpuCubeMap::UpdateGpuTexture
public: void UpdateGpuTexture()
Update textures using the marked solution buffers.