This is the documentation for Enlighten.

class Enlighten CpuCubeMap

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.