Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

NameDescription
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.

Variables

NameDescription
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.


Anchor
aa2719defc618369e7b00912b83752abc
aa2719defc618369e7b00912b83752abc

void Enlighten::InputWorkspaceInternal::AddCachedValues

...

public: void AddCachedValues
(
    InputLightingBuffer * output,
    const InputLightingBuffer * cachedValues
) const

...

Adds lights values from previously cached input.


Anchor
a1a405a72cd1273f1c4f99c95cd58e64b
a1a405a72cd1273f1c4f99c95cd58e64b

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.


Anchor
a59d22871c98e0887a03ab91ca1cc97df
a59d22871c98e0887a03ab91ca1cc97df

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.


Anchor
ac8633f12682884b792649c569f6537a0
ac8633f12682884b792649c569f6537a0

bool Enlighten::InputWorkspaceInternal::BadMagicNumber

...

public: bool BadMagicNumber() const

...

Sanity check.


Anchor
a721abc2e2a341bee3222e509f906af8b
a721abc2e2a341bee3222e509f906af8b

void Enlighten::InputWorkspaceInternal::Clear

...

public: void Clear
(
    InputLightingBuffer * output
) const

...

Clears the light values to zero, useful for "starting over".


Anchor
a3faf64a3d5c0d0f797040fc2a457d9cb
a3faf64a3d5c0d0f797040fc2a457d9cb

void Enlighten::InputWorkspaceInternal::ConvertEndian

...

public: void ConvertEndian
(
    Geo::EConvertEndianMode mode
)

...

Converts the endian-ness of this block.


Anchor
ade6d275d329e5231f5e96200d9bb9b85
ade6d275d329e5231f5e96200d9bb9b85

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.


Anchor
a9935d5dfc97ccdb9d827487900cf25d6
a9935d5dfc97ccdb9d827487900cf25d6

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)


Anchor
a6bb4f47a5f3b4731cb365dbdf121b33d
a6bb4f47a5f3b4731cb365dbdf121b33d

const Geo::v128* Enlighten::InputWorkspaceInternal::GetDusterBoundsArray

...

public: const Geo::v128 * GetDusterBoundsArray() const

...

Access to the leaf cluster bounds array.


Anchor
aecfd105b5223ea2a5933061d2219f4ef
aecfd105b5223ea2a5933061d2219f4ef

InputWorkspaceDebugIterator Enlighten::InputWorkspaceInternal::GetInputWorkspaceDebugIterator

...

public: InputWorkspaceDebugIterator GetInputWorkspaceDebugIterator() const

...

Debugging functionality.


Anchor
ab6e80d4bc2bea8bd8aa66855bbe461d5
ab6e80d4bc2bea8bd8aa66855bbe461d5

void Enlighten::InputWorkspaceInternal::GetInputWorkspaceDebugPoint

...

public: void GetInputWorkspaceDebugPoint
(
    InputWorkspaceDebugPoint * debugPoint,
    Geo::s32 index
) const

...

Debugging functionality.


Anchor
a493528e728461648cfd25c91c8dc0e25
a493528e728461648cfd25c91c8dc0e25

void Enlighten::InputWorkspaceInternal::GetInputWorkspaceLitDebugPoint

...

public: void GetInputWorkspaceLitDebugPoint
(
    InputWorkspaceDebugPoint * debugPoint,
    Geo::s32 index,
    const InputLightingBuffer * lightValues
) const

...

Debugging functionality.


Anchor
aeda296c2c08e1e02183df66229d9fe05
aeda296c2c08e1e02183df66229d9fe05

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.


Anchor
a38ecb7eb7ebac697fb1dc080b2b4bae3
a38ecb7eb7ebac697fb1dc080b2b4bae3

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.


Anchor
af006c0ba8c158b4463021579283a878a
af006c0ba8c158b4463021579283a878a

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.


Anchor
a31b67fd2dc55696362b8a4b46160d719
a31b67fd2dc55696362b8a4b46160d719

const Geo::u8* Enlighten::InputWorkspaceInternal::GetNonLeafChildCountArray

...

public: const Geo::u8 * GetNonLeafChildCountArray() const

...

Access to the the number of children in the non-leaf clusters.


Anchor
a4c377aa5a4c4d03f54116190edc97dff
a4c377aa5a4c4d03f54116190edc97dff

const Geo::u8* Enlighten::InputWorkspaceInternal::GetNumChildrenTable

...

public: const Geo::u8 * GetNumChildrenTable() const

...

Returns the table containing the number of children for each internal node.


Anchor
ac8b865643ff0508db8e67ee054b03887
ac8b865643ff0508db8e67ee054b03887

Geo::s32 Enlighten::InputWorkspaceInternal::GetNumClusters

...

public: Geo::s32 GetNumClusters() const

...

Gets the number of clusters.


Anchor
a12d1b34aace992312392e97a4b2b1ee1
a12d1b34aace992312392e97a4b2b1ee1

Geo::s32 Enlighten::InputWorkspaceInternal::GetNumClustersInTree

...

public: Geo::s32 GetNumClustersInTree() const

...

Gets the number of clusters in the tree.


Anchor
adbc3eb51e408aac9c9cbb30a5a59acdb
adbc3eb51e408aac9c9cbb30a5a59acdb

Geo::s32 Enlighten::InputWorkspaceInternal::GetNumPoints

...

public: Geo::s32 GetNumPoints() const

...

Debugging functionality.


Anchor
ac43e291d5e3467cfeb3482b0956b9fc6
ac43e291d5e3467cfeb3482b0956b9fc6

PackedDusterPoint* Enlighten::InputWorkspaceInternal::GetPackedDusterData

...

public: PackedDusterPoint * GetPackedDusterData()

...

Retrieve the packed positions and normals for 4 dusters.


Anchor
af3d5135a697dc48ab847dd4160c6a8de
af3d5135a697dc48ab847dd4160c6a8de

const PackedDusterPoint* Enlighten::InputWorkspaceInternal::GetPackedDusterData

...

public: const PackedDusterPoint * GetPackedDusterData() const

...

Retrieve the packed positions and normals for 4 dusters.


Anchor
ab74932dc48f26114d268d3fd406c7d22
ab74932dc48f26114d268d3fd406c7d22

const Geo::u32* Enlighten::InputWorkspaceInternal::GetQuadIndexClusterArray

...

public: const Geo::u32 * GetQuadIndexClusterArray() const

...

Returns the index of quads per cluster.


Anchor
afe059e2b38978a9051b4f7065c5e5012
afe059e2b38978a9051b4f7065c5e5012

Geo::s32 Enlighten::InputWorkspaceInternal::GetQuadIndexTableSize

...

public: Geo::s32 GetQuadIndexTableSize() const

...

Returns the size of the quad index table.


Anchor
af1dcbdd5ffe9fec8821b972fc28789bd
af1dcbdd5ffe9fec8821b972fc28789bd

const Geo::u8* Enlighten::InputWorkspaceInternal::GetQuadsInClusterArray

...

public: const Geo::u8 * GetQuadsInClusterArray() const

...

Returns the number of quads per cluster.


Anchor
a7983da7bd56c4e48d6123fc85034b1a2
a7983da7bd56c4e48d6123fc85034b1a2

const RadiosityInputTree* Enlighten::InputWorkspaceInternal::GetRadiosityInputTree

...

public: const RadiosityInputTree * GetRadiosityInputTree() const

...

Returns the internal cluster tree.


Anchor
ab65b836e3f2641b4723a46bc97691ccd
ab65b836e3f2641b4723a46bc97691ccd

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)


Anchor
a04908b05661eca51dccf03faedd9c8d5
a04908b05661eca51dccf03faedd9c8d5

Geo::s32 Enlighten::InputWorkspaceInternal::GetScaleFactorTableSize

...

public: Geo::s32 GetScaleFactorTableSize() const

...

Returns the size of the scale factor table.


Anchor
a7751c0186cfab8490d2f94d1c5ca0aad
a7751c0186cfab8490d2f94d1c5ca0aad

void Enlighten::InputWorkspaceInternal::GetSystemBoundingBox

...

public: void GetSystemBoundingBox
(
    Geo::GeoBoundingBox & bb
) const

...

Returns the bounding box of the system.


Anchor
adaed81b4c59f263dcb4e78c4126f4683
adaed81b4c59f263dcb4e78c4126f4683

Geo::NonCopyable::NonCopyable

...

public: NonCopyable
(
    NonCopyable &&
)

...

Defaulted to allow move.


Anchor
a6abc781e23b8f4864e0b868806e0acbf
a6abc781e23b8f4864e0b868806e0acbf

NonCopyable& Geo::NonCopyable::operator=

...

public: NonCopyable & operator=
(
    NonCopyable &&
)

...

Defaulted to allow move.