This is the documentation for Enlighten.

class Enlighten IncidentLightingBuffer

class Enlighten::IncidentLightingBuffer

A buffer containing the incident lighting for a system's input sample points (internal).

Runtime data allocated by end user that stores incident lighting from a set of lights for each cluster.

E.g. leaf clusters or "input lighting" cube map samples. It would not typically include bounce or albedo. Implemented as straight forward set of lighting values, but can operate at two different precisions.

Functions

Name Description
CalculateBufferSize(Geo::s32, PrecisionHint::Value)

Factory Methods.

Clear()

Clears this buffer to all zeroes.

ConvertEndian(Geo::EConvertEndianMode)

Converts the endian-ness of this buffer.

Copy(const IncidentLightingBuffer &)

Copy the contents of the given buffer into this one.

Create(Geo::GeoGuid, Geo::s32, void *, PrecisionHint::Value)

Factory Methods.

Create(const IncidentLightingBuffer &, void *)

Factory Methods.

GetLastSkipHash()

A hash of the lights before they have been sorted.

GetLightValues()

Return a pointer to the light values.

GetLightValues()

Return a const pointer to the light values.

GetNumLightValues()

Return the number of light values.

GetPostSortHash()

A hash of the lights after they have been sorted.

GetPrecision()

Gets the precision.

GetSize()

Gets the total size (in bytes) of this buffer.

GetSystemId()

Return the system guid for this IncidentLightingBuffer.

WasLastUpdateSkipped()

returns true if the last update of the IncidentLightingBuffer was skipped due to the input lights being unchanged.


static Geo::u32 Enlighten::IncidentLightingBuffer::CalculateBufferSize


public: Geo::u32 CalculateBufferSize
(
    Geo::s32 numSamplePoints,
    PrecisionHint::Value precision
)


Factory Methods.


void Enlighten::IncidentLightingBuffer::Clear


public: void Clear()


Clears this buffer to all zeroes.


void Enlighten::IncidentLightingBuffer::ConvertEndian


public: void ConvertEndian
(
    Geo::EConvertEndianMode mode
)


Converts the endian-ness of this buffer.


bool Enlighten::IncidentLightingBuffer::Copy


public: bool Copy
(
    const IncidentLightingBuffer & source
)


Copy the contents of the given buffer into this one.


static IncidentLightingBuffer* Enlighten::IncidentLightingBuffer::Create


public: IncidentLightingBuffer * Create
(
    Geo::GeoGuid objectId,
    Geo::s32 numSamplePoints,
    void * memory,
    PrecisionHint::Value precision
)


Factory Methods.


static IncidentLightingBuffer* Enlighten::IncidentLightingBuffer::Create


public: IncidentLightingBuffer * Create
(
    const IncidentLightingBuffer & source,
    void * memory
)


Factory Methods.


Geo::u32* Enlighten::IncidentLightingBuffer::GetLastSkipHash


public: Geo::u32 * GetLastSkipHash()


A hash of the lights before they have been sorted.


LightValueIterator Enlighten::IncidentLightingBuffer::GetLightValues


public: LightValueIterator GetLightValues()


Return a pointer to the light values.


ConstLightValueIterator Enlighten::IncidentLightingBuffer::GetLightValues


public: ConstLightValueIterator GetLightValues() const


Return a const pointer to the light values.


Geo::u32 Enlighten::IncidentLightingBuffer::GetNumLightValues


public: Geo::u32 GetNumLightValues() const


Return the number of light values.


Geo::u32* Enlighten::IncidentLightingBuffer::GetPostSortHash


public: Geo::u32 * GetPostSortHash()


A hash of the lights after they have been sorted.


PrecisionHint::Value Enlighten::IncidentLightingBuffer::GetPrecision


public: PrecisionHint::Value GetPrecision() const


Gets the precision.


Geo::u32 Enlighten::IncidentLightingBuffer::GetSize


public: Geo::u32 GetSize() const


Gets the total size (in bytes) of this buffer.


Geo::GeoGuid Enlighten::IncidentLightingBuffer::GetSystemId


public: Geo::GeoGuid GetSystemId() const


Return the system guid for this IncidentLightingBuffer.


bool Enlighten::IncidentLightingBuffer::WasLastUpdateSkipped


public: bool WasLastUpdateSkipped() const


returns true if the last update of the IncidentLightingBuffer was skipped due to the input lights being unchanged.