class Enlighten::InputWorkspaceInternal
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.
Functions
Name | Description |
---|---|
AddCachedValues(InputLightingBuffer *, const InputLightingBuffer *) | Adds lights values from previously cached input. |
AddDusterValues(Enlighten::IncidentLightingBuffer *, const Geo::v128 *) | Adds light values laid out in a duster block to the input workspace. |
AddDusterValues(InputLightingBuffer *, 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. |
Variables
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. |
void Enlighten::InputWorkspaceInternal::AddCachedValues
public: void AddCachedValues
(
InputLightingBuffer * output,
const InputLightingBuffer * cachedValues
) const
Adds lights values from previously cached input.
void Enlighten::InputWorkspaceInternal::AddDusterValues
public: void AddDusterValues
(
Enlighten::IncidentLightingBuffer * output,
const Geo::v128 * dusterValues
) const
Adds light values laid out in a duster block to the input workspace.
void Enlighten::InputWorkspaceInternal::AddDusterValues
public: void AddDusterValues
(
InputLightingBuffer * output,
const Geo::v128 * dusterValues
) const
Adds light values laid out in a duster block to the input workspace.
bool Enlighten::InputWorkspaceInternal::BadMagicNumber
public: bool BadMagicNumber() const
Sanity check.
void Enlighten::InputWorkspaceInternal::Clear
public: void Clear
(
InputLightingBuffer * output
) const
Clears the light values to zero, useful for "starting over".
void Enlighten::InputWorkspaceInternal::ConvertEndian
public: void ConvertEndian
(
Geo::EConvertEndianMode mode
)
Converts the endian-ness of this block.
void Enlighten::InputWorkspaceInternal::End
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.
const Geo::v128* Enlighten::InputWorkspaceInternal::GetClusterBoundsGroupArray
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)
const Geo::v128* Enlighten::InputWorkspaceInternal::GetDusterBoundsArray
public: const Geo::v128 * GetDusterBoundsArray() const
Access to the leaf cluster bounds array.
InputWorkspaceDebugIterator Enlighten::InputWorkspaceInternal::GetInputWorkspaceDebugIterator
public: InputWorkspaceDebugIterator GetInputWorkspaceDebugIterator() const
Debugging functionality.
void Enlighten::InputWorkspaceInternal::GetInputWorkspaceDebugPoint
public: void GetInputWorkspaceDebugPoint
(
InputWorkspaceDebugPoint * debugPoint,
Geo::s32 index
) const
Debugging functionality.
void Enlighten::InputWorkspaceInternal::GetInputWorkspaceLitDebugPoint
public: void GetInputWorkspaceLitDebugPoint
(
InputWorkspaceDebugPoint * debugPoint,
Geo::s32 index,
const InputLightingBuffer * lightValues
) const
Debugging functionality.
void Enlighten::InputWorkspaceInternal::GetInputWorkspaceNormalArray
public: void GetInputWorkspaceNormalArray
(
Geo::v128 * normalOut
) const
Fills an array with the normals of all of the input points in an input workspace.
void Enlighten::InputWorkspaceInternal::GetInputWorkspacePositionAndNormalArray
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.
void Enlighten::InputWorkspaceInternal::GetInputWorkspacePositionArray
public: void GetInputWorkspacePositionArray
(
Geo::v128 * positionsOut
) const
Fills an array with the positions of all of the input points in an input workspace.
const Geo::u8* Enlighten::InputWorkspaceInternal::GetNonLeafChildCountArray
public: const Geo::u8 * GetNonLeafChildCountArray() const
Access to the the number of children in the non-leaf clusters.
const Geo::u8* Enlighten::InputWorkspaceInternal::GetNumChildrenTable
public: const Geo::u8 * GetNumChildrenTable() const
Returns the table containing the number of children for each internal node.
Geo::s32 Enlighten::InputWorkspaceInternal::GetNumClusters
public: Geo::s32 GetNumClusters() const
Gets the number of clusters.
Geo::s32 Enlighten::InputWorkspaceInternal::GetNumClustersInTree
public: Geo::s32 GetNumClustersInTree() const
Gets the number of clusters in the tree.
Geo::s32 Enlighten::InputWorkspaceInternal::GetNumPoints
public: Geo::s32 GetNumPoints() const
Debugging functionality.
PackedDusterPoint* Enlighten::InputWorkspaceInternal::GetPackedDusterData
public: PackedDusterPoint * GetPackedDusterData()
Retrieve the packed positions and normals for 4 dusters.
const PackedDusterPoint* Enlighten::InputWorkspaceInternal::GetPackedDusterData
public: const PackedDusterPoint * GetPackedDusterData() const
Retrieve the packed positions and normals for 4 dusters.
const Geo::u32* Enlighten::InputWorkspaceInternal::GetQuadIndexClusterArray
public: const Geo::u32 * GetQuadIndexClusterArray() const
Returns the index of quads per cluster.
Geo::s32 Enlighten::InputWorkspaceInternal::GetQuadIndexTableSize
public: Geo::s32 GetQuadIndexTableSize() const
Returns the size of the quad index table.
const Geo::u8* Enlighten::InputWorkspaceInternal::GetQuadsInClusterArray
public: const Geo::u8 * GetQuadsInClusterArray() const
Returns the number of quads per cluster.
const RadiosityInputTree* Enlighten::InputWorkspaceInternal::GetRadiosityInputTree
public: const RadiosityInputTree * GetRadiosityInputTree() const
Returns the internal cluster tree.
const Geo::u8* Enlighten::InputWorkspaceInternal::GetScaleFactorTable
public: const Geo::u8 * GetScaleFactorTable() const
Returns the table containing the EndInputWorkspace scale factor for each node (except the final node)
Geo::s32 Enlighten::InputWorkspaceInternal::GetScaleFactorTableSize
public: Geo::s32 GetScaleFactorTableSize() const
Returns the size of the scale factor table.
void Enlighten::InputWorkspaceInternal::GetSystemBoundingBox
public: void GetSystemBoundingBox
(
Geo::GeoBoundingBox & bb
) const
Returns the bounding box of the system.