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.
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. |
public: Geo::u32 CalculateBufferSize
(
Geo::s32 numSamplePoints,
PrecisionHint::Value precision
)
Factory Methods.
public: void Clear()
Clears this buffer to all zeroes.
public: void ConvertEndian
(
Geo::EConvertEndianMode mode
)
Converts the endian-ness of this buffer.
public: bool Copy
(
const IncidentLightingBuffer & source
)
Copy the contents of the given buffer into this one.
public: IncidentLightingBuffer * Create
(
Geo::GeoGuid objectId,
Geo::s32 numSamplePoints,
void * memory,
PrecisionHint::Value precision
)
Factory Methods.
public: IncidentLightingBuffer * Create
(
const IncidentLightingBuffer & source,
void * memory
)
Factory Methods.
public: Geo::u32 * GetLastSkipHash()
A hash of the lights before they have been sorted.
public: LightValueIterator GetLightValues()
Return a pointer to the light values.
public: ConstLightValueIterator GetLightValues() const
Return a const pointer to the light values.
public: Geo::u32 GetNumLightValues() const
Return the number of light values.
public: Geo::u32 * GetPostSortHash()
A hash of the lights after they have been sorted.
public: PrecisionHint::Value GetPrecision() const
Gets the precision.
public: Geo::u32 GetSize() const
Gets the total size (in bytes) of this buffer.
public: Geo::GeoGuid GetSystemId() const
Return the system guid for this IncidentLightingBuffer.
public: bool WasLastUpdateSkipped() const
returns true if the last update of the IncidentLightingBuffer was skipped due to the input lights being unchanged.