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.