class Enlighten InputWorkspaceInternal

This is the documentation for Enlighten.

class Enlighten InputWorkspaceInternal

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

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

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.