class Enlighten CpuCubeMap

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

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

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.