Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

NameDescription
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

NameDescription
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.


Anchor
aaaca2123c3547b5ff44a56c3cb6c556c
aaaca2123c3547b5ff44a56c3cb6c556c

Enlighten::CpuCubeMap::CpuCubeMap

...

public: CpuCubeMap()

...

Constructor.


Anchor
aee4e4a180156a4afe757ee5233d0f7ff
aee4e4a180156a4afe757ee5233d0f7ff

virtual void Enlighten::CpuCubeMap::DisableUpdatesAndFreeMemory

...

public: virtual void DisableUpdatesAndFreeMemory()

...

Frees all memory required to update the cube map, and disables further updates.


Anchor
a618eb880e5c63dacc8d4e11d3bea6e2c
a618eb880e5c63dacc8d4e11d3bea6e2c

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
ad8e96c1d9c42894dcd75e0e7ada7232e
ad8e96c1d9c42894dcd75e0e7ada7232e

virtual void* Enlighten::CpuCubeMap::GetOutputPointer

...

public: virtual void * GetOutputPointer
(
    Geo::s32 faceIdx
) const

...

Returns the memory location where Enlighten should write the output.


Anchor
a9fce361100a9eb8df6dd1330ea60e11a
a9fce361100a9eb8df6dd1330ea60e11a

virtual bool Enlighten::CpuCubeMap::HasMipMaps

...

public: virtual bool HasMipMaps() const

...

Whether this cube map has a mip chain.


Anchor
a0d12b552ad6c5769652f978a282e1581
a0d12b552ad6c5769652f978a282e1581

virtual bool Enlighten::CpuCubeMap::IsStatic

...

public: virtual bool IsStatic() const

...

Returns true if the cube map is static.


Anchor
aa27e2de59db1581b4d02f8d10477ab65
aa27e2de59db1581b4d02f8d10477ab65

bool Enlighten::CpuCubeMap::IsUpdatePending

...

public: bool IsUpdatePending() const

...

Are any irradiance buffers marked for an update?


Anchor
a46d24b8b87843e43cac8a41a36665763
a46d24b8b87843e43cac8a41a36665763

virtual void Enlighten::CpuCubeMap::MarkUpdate

...

public: virtual void MarkUpdate
(
    bool v
)

...

Mark solution buffer as requiring update in next call to UpdateGpuTexture.


Anchor
aa4b09d2878d91dcf0664c62ed889f000
aa4b09d2878d91dcf0664c62ed889f000

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
ab77cc9ed412eae72ed3179133266c1af
ab77cc9ed412eae72ed3179133266c1af

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
af6bdf30b42adde386c428e9dc2821eb9
af6bdf30b42adde386c428e9dc2821eb9

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
a70d3713a29ba4995433d055314d4baee
a70d3713a29ba4995433d055314d4baee

void Enlighten::BaseCubeMap::SetEmissiveEnvironment

...

public: void SetEmissiveEnvironment
(
    Geo::GeoGuid id
)

...

Property-setting functions which can be enqueued with EnqueueSetObjectParameter.


Anchor
a58a994cb90c6b07b3aab108df84ed0bb
a58a994cb90c6b07b3aab108df84ed0bb

void Enlighten::BaseCubeMap::SetFramesPerUpdate

...

public: void SetFramesPerUpdate
(
    Geo::s32 f
)

...

Property-setting functions which can be enqueued with EnqueueSetObjectParameter.


Anchor
afb8891cf84fd143ec04b4919ac871494
afb8891cf84fd143ec04b4919ac871494

virtual void Enlighten::BaseCubeMap::SetGpuTexture

...

public: virtual void SetGpuTexture
(
    IGpuTexture * gpuTexture
)

...

Sets an output texture for the system.


Anchor
a70a52d0a301b4e411bbfc3876f850d0c
a70a52d0a301b4e411bbfc3876f850d0c

void Enlighten::BaseCubeMap::SetUpdateCounter

...

public: void SetUpdateCounter
(
    Geo::s32 c
)

...

Property-setting functions which can be enqueued with EnqueueSetObjectParameter.


Anchor
a6fdb900648b8b482defbeb772f40b4c7
a6fdb900648b8b482defbeb772f40b4c7

void Enlighten::CpuCubeMap::UpdateGpuTexture

...

public: void UpdateGpuTexture()

...

Update textures using the marked solution buffers.