Runtime data about the dusters (internal).
This is the internal implementation of the main RadDataBlock in InputWorkspace in the main api. The data for this class lies immediately after it in memory.
Name | Description |
---|---|
AddCachedValues(InputLightingBuffer *, const InputLightingBuffer *) | Adds lights values from previously cached input. |
AddDusterValues(InputLightingBuffer *, const Geo::v128 *) | Adds light values laid out in a duster block to the input workspace. |
AddDusterValues(Enlighten::IncidentLightingBuffer *, const Geo::v128 *) | Adds light values laid out in a duster block to the input workspace. |
BadMagicNumber() | Sanity check. |
Clear(InputLightingBuffer *) | Clears the light values to zero, useful for "starting over". |
ConvertEndian(Geo::EConvertEndianMode) | Converts the endian-ness of this block. |
End(InputLightingBuffer *) | Generate the rest of the Enlighten input tree from the leaves. |
GetClusterBoundsGroupArray() | Access to the leaf cluster bounds array data for cluster groups. Each cluster group stores 'ClusterBoundsGroupSize' clusters (except the last group) |
GetDusterBoundsArray() | Access to the leaf cluster bounds array. |
GetInputWorkspaceDebugIterator() | Debugging functionality. |
GetInputWorkspaceDebugPoint(InputWorkspaceDebugPoint *, Geo::s32) | Debugging functionality. |
GetInputWorkspaceLitDebugPoint(InputWorkspaceDebugPoint *, Geo::s32, const InputLightingBuffer *) | Debugging functionality. |
GetInputWorkspaceNormalArray(Geo::v128 *) | Fills an array with the normals of all of the input points in an input workspace. |
GetInputWorkspacePositionAndNormalArray(Geo::v128 *, Geo::v128 *) | Fills an array with the positions and normals of all of the input points in an input workspace. |
GetInputWorkspacePositionArray(Geo::v128 *) | Fills an array with the positions of all of the input points in an input workspace. |
GetNonLeafChildCountArray() | Access to the the number of children in the non-leaf clusters. |
GetNumChildrenTable() | Returns the table containing the number of children for each internal node. |
GetNumClusters() | Gets the number of clusters. |
GetNumClustersInTree() | Gets the number of clusters in the tree. |
GetNumPoints() | Debugging functionality. |
GetPackedDusterData() | Retrieve the packed positions and normals for 4 dusters. |
GetPackedDusterData() | Retrieve the packed positions and normals for 4 dusters. |
GetQuadIndexClusterArray() | Returns the index of quads per cluster. |
GetQuadIndexTableSize() | Returns the size of the quad index table. |
GetQuadsInClusterArray() | Returns the number of quads per cluster. |
GetRadiosityInputTree() | Returns the internal cluster tree. |
GetScaleFactorTable() | Returns the table containing the EndInputWorkspace scale factor for each node (except the final node) |
GetScaleFactorTableSize() | Returns the size of the scale factor table. |
GetSystemBoundingBox(Geo::GeoBoundingBox &) | Returns the bounding box of the system. |
NonCopyable(NonCopyable &&) | Defaulted to allow move. |
operator=(NonCopyable &&) | Defaulted to allow move. |
Name | Description |
---|---|
const Geo::u32 ClusterBoundsGroupSize = 32 | The number of clusters in each cluster group. |
Geo::s32 m_ClusterBoundsGroupOffset | Offset to the leaf cluster group bounds array. |
Geo::s32 m_DusterBoundsOffset | Offset to the leaf cluster bounds array. |
Geo::s32 m_InputTreeOffset | The cluster tree. |
Geo::u32 m_MagicNumber | Bit pattern to check that we have a valid InputWorkspace. TBD?? |
Geo::s32 m_MaxDusterQuadsInClusterGroup | The maximum number of duster quads in the cluster groups. |
Geo::s32 m_NodeDusterIndicesOffset | Offset to u32s storing the quad index for each leaf. |
Geo::s32 m_NumClusters | Number of clusters. |
Geo::s32 m_NumClustersInTree | Number of clusters in tree. |
Geo::s32 m_NumSamples | Number of dusters. |
Geo::s32 m_PackedDusterDataOffset | Offset to the packed data for positions and normals. |
Geo::s32 m_Padding | Some padding to make it up to 16 byte aligned. |
Geo::v128 m_SystemBoundsMax | Size of the system. |
Geo::v128 m_SystemBoundsMin | Size of the system. |
public: void AddCachedValues
(
InputLightingBuffer * output,
const InputLightingBuffer * cachedValues
) const
Adds lights values from previously cached input.
public: void AddDusterValues
(
InputLightingBuffer * output,
const Geo::v128 * dusterValues
) const
Adds light values laid out in a duster block to the input workspace.
public: void AddDusterValues
(
Enlighten::IncidentLightingBuffer * output,
const Geo::v128 * dusterValues
) const
Adds light values laid out in a duster block to the input workspace.
public: bool BadMagicNumber() const
Sanity check.
public: void Clear
(
InputLightingBuffer * output
) const
Clears the light values to zero, useful for "starting over".
public: void ConvertEndian
(
Geo::EConvertEndianMode mode
)
Converts the endian-ness of this block.
public: void End
(
InputLightingBuffer * buffer
) const
Generate the rest of the Enlighten input tree from the leaves.
This must be called after input generation has finished.
public: const Geo::v128 * GetClusterBoundsGroupArray() const
Access to the leaf cluster bounds array data for cluster groups. Each cluster group stores 'ClusterBoundsGroupSize' clusters (except the last group)
public: const Geo::v128 * GetDusterBoundsArray() const
Access to the leaf cluster bounds array.
public: InputWorkspaceDebugIterator GetInputWorkspaceDebugIterator() const
Debugging functionality.
public: void GetInputWorkspaceDebugPoint
(
InputWorkspaceDebugPoint * debugPoint,
Geo::s32 index
) const
Debugging functionality.
public: void GetInputWorkspaceLitDebugPoint
(
InputWorkspaceDebugPoint * debugPoint,
Geo::s32 index,
const InputLightingBuffer * lightValues
) const
Debugging functionality.
public: void GetInputWorkspaceNormalArray
(
Geo::v128 * normalOut
) const
Fills an array with the normals of all of the input points in an input workspace.
public: void GetInputWorkspacePositionAndNormalArray
(
Geo::v128 * positionsOut,
Geo::v128 * normalsOut
) const
Fills an array with the positions and normals of all of the input points in an input workspace.
public: void GetInputWorkspacePositionArray
(
Geo::v128 * positionsOut
) const
Fills an array with the positions of all of the input points in an input workspace.
public: const Geo::u8 * GetNonLeafChildCountArray() const
Access to the the number of children in the non-leaf clusters.
public: const Geo::u8 * GetNumChildrenTable() const
Returns the table containing the number of children for each internal node.
public: Geo::s32 GetNumClusters() const
Gets the number of clusters.
public: Geo::s32 GetNumClustersInTree() const
Gets the number of clusters in the tree.
public: Geo::s32 GetNumPoints() const
Debugging functionality.
public: PackedDusterPoint * GetPackedDusterData()
Retrieve the packed positions and normals for 4 dusters.
public: const PackedDusterPoint * GetPackedDusterData() const
Retrieve the packed positions and normals for 4 dusters.
public: const Geo::u32 * GetQuadIndexClusterArray() const
Returns the index of quads per cluster.
public: Geo::s32 GetQuadIndexTableSize() const
Returns the size of the quad index table.
public: const Geo::u8 * GetQuadsInClusterArray() const
Returns the number of quads per cluster.
public: const RadiosityInputTree * GetRadiosityInputTree() const
Returns the internal cluster tree.
public: const Geo::u8 * GetScaleFactorTable() const
Returns the table containing the EndInputWorkspace scale factor for each node (except the final node)
public: Geo::s32 GetScaleFactorTableSize() const
Returns the size of the scale factor table.
public: void GetSystemBoundingBox
(
Geo::GeoBoundingBox & bb
) const
Returns the bounding box of the system.
public: NonCopyable
(
NonCopyable &&
)
Defaulted to allow move.
public: NonCopyable & operator=
(
NonCopyable &&
)
Defaulted to allow move.