Versions Compared

Key

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

class Enlighten::CpuDynamicObject

    └>Enlighten::BaseDynamicObject
        └>Geo::IGeoReleasable

Implementation of BaseDynamicObject for Cpu Solving.

Variables

NameDescription
bool m_AddedToManager

false when the object is allocated; true when it is added to the working set

IGpuTexture * m_GpuTexture[ENLIGHTEN_PROBE_VOLUME_NUM_TYPES]

GPU output volume textures for R/G/B/Env.

InterpolatedPoint * m_InterpolationPoints

Set of points where we require interpolated probe output.

eSHOrder m_MaximumEnvVisShOrder

The amount of storage allocated for environment SH results.

eSHOrder m_MaximumShOrder

Whether this dynamic object has L1 or L2 storage allocated.

bool m_NewSolverOutputToCopy

Flag set when there is fresh output to copy to the GPU.

const DynamicObject m_Object

Fixed description of the object.

Geo::s32 m_RowPitch[ENLIGHTEN_PROBE_VOLUME_NUM_TYPES]

The row pitch of the CPU output, in bytes.

Geo::s32 m_SlicePitch[ENLIGHTEN_PROBE_VOLUME_NUM_TYPES]

The slice pitch of the CPU output, in bytes.

void * m_SolverOutput[ENLIGHTEN_PROBE_VOLUME_NUM_TYPES]

CPU output for R/G/B/Env.

Geo::Matrix m_Transform

Current local-to-world-space transform of the object.

bool m_UseVolumeTextures

Whether this dynamic object has volume textures.

Geo::Matrix m_WorldToUvw

Current world-space-to-uvw-coordinate transform of the object.

Functions

NameDescription
AllocateSolutionSpace(IGpuTextureAllocator *, Enlighten::eSHOrder, Enlighten::eSHOrder, bool)

Allocates space for probe output - CPU buffer if useVolumeTextures is false; GPU textures if true.

AllocateSolutionSpace(IGpuTextureAllocator *, Enlighten::eSHOrder, Enlighten::eSHOrder, bool)

Allocates space to hold the interpolated probe coefficients for the object.

BaseDynamicObject(const DynamicObject &)

Constructor, taking a DynamicObject description. Called during IUpdateManager::AllocateDynamicObject.

CpuDynamicObject(const DynamicObject &)

Constructor, taking a DynamicObject description.

GetNumInterpolationPoints()

Helper function to return the resolution of the output volume textures.

GetOutputPointer(Geo::s32, Geo::s32, Geo::s32, Geo::s32)

Returns the CPU pointer to write interpolated data for the given channel and grid coordinates.

GetOutputPointer(Geo::s32, Geo::s32, Geo::s32, Geo::s32)

Returns the CPU pointer to write interpolated data for the given channel and grid coordinates.

GetWorldToUvwMatrix()

Returns a matrix which transforms from world space to UVW volume texture coordinates to look up light probe data.

IsUpdatePending()

Are any irradiance buffers marked for an update?

IsUpdatePending()

Are any irradiance buffers marked for an update?

MarkUpdate(bool)

Mark solution buffer as requiring update in next call to UpdateGpuTexture.

MarkUpdate(bool)

Mark solution buffer as requiring update in next call to UpdateGpuTexture.

NonCopyable(NonCopyable &&)

Defaulted to allow move.

operator=(NonCopyable &&)

Defaulted to allow move.

Release()

Free this object that was created within the Enlighten libraries.

Release()

Free this object that was created within the Enlighten libraries.

RequestInterpolationOnAllPoints()

will setInterpolatedPoint:: m_RecomputeInterpolants to true on all the interpolated points.

SetGpuTexture(ProbeVolumeOutputTextureType, IGpuTexture *)

Sets an output texture for the dynamic object.

SetGpuTexture(ProbeVolumeOutputTextureType, IGpuTexture *)

Sets an output texture for the dynamic object.

SetTransform(const Geo::Matrix &)

Sets the world transform for the object, and updates the world-to-uvw transform.

UpdateGpuTexture()

Update textures using the marked solution buffers.

UpdateGpuTexture()

Update the GPU volume textures.


Anchor
a5150382a77bada485e2f28aeb2fd3b9b
a5150382a77bada485e2f28aeb2fd3b9b

virtual void Enlighten::CpuDynamicObject::AllocateSolutionSpace

...

public: virtual void AllocateSolutionSpace
(
    IGpuTextureAllocator * textureAllocator,
    Enlighten::eSHOrder maximumShOrder,
    Enlighten::eSHOrder maximumEnvVisShOrder,
    bool useVolumeTextures
)

...

Allocates space for probe output - CPU buffer if useVolumeTextures is false; GPU textures if true.


Anchor
acd96b1131bebad4f260390d08d61d13d
acd96b1131bebad4f260390d08d61d13d

virtual void Enlighten::BaseDynamicObject::AllocateSolutionSpace

...

protected: void AllocateSolutionSpace
(
    IGpuTextureAllocator * textureAllocator,
    Enlighten::eSHOrder maximumShOrder,
    Enlighten::eSHOrder maximumEnvVisShOrder,
    bool useVolumeTextures
)

...

Allocates space to hold the interpolated probe coefficients for the object.

If useVolumeTextures is false this will be a CPU buffer. If useVolumeTextures is true it will be GPU textures, along with whatever other resources are required to update the textures.


Anchor
a09c29d183d8110eb5e6cced606fbd8f3
a09c29d183d8110eb5e6cced606fbd8f3

Enlighten::BaseDynamicObject::BaseDynamicObject

...

protected: BaseDynamicObject
(
    const DynamicObject & object
)

...

Constructor, taking a DynamicObject description. Called during IUpdateManager::AllocateDynamicObject.


Anchor
a5c40f14f8075b252fcb190a2cd38ca67
a5c40f14f8075b252fcb190a2cd38ca67

Enlighten::CpuDynamicObject::CpuDynamicObject

...

public: CpuDynamicObject
(
    const DynamicObject & object
)

...

Constructor, taking a DynamicObject description.


Anchor
a0aa6f3f0b38031a2f6b22f4ac1d6b5cb
a0aa6f3f0b38031a2f6b22f4ac1d6b5cb

Geo::s32 Enlighten::BaseDynamicObject::GetNumInterpolationPoints

...

protected: Geo::s32 GetNumInterpolationPoints()

...

Helper function to return the resolution of the output volume textures.


Anchor
af120b1143b49342f2460883a27eb89f4
af120b1143b49342f2460883a27eb89f4

virtual void* Enlighten::BaseDynamicObject::GetOutputPointer

...

protected: virtual void * GetOutputPointer
(
    Geo::s32 channel,
    Geo::s32 x,
    Geo::s32 y,
    Geo::s32 z
)

...

Returns the CPU pointer to write interpolated data for the given channel and grid coordinates.


Anchor
afd947e5f3f02617b523d34cfd86382cc
afd947e5f3f02617b523d34cfd86382cc

virtual void* Enlighten::CpuDynamicObject::GetOutputPointer

...

public: virtual void * GetOutputPointer
(
    Geo::s32 channel,
    Geo::s32 x,
    Geo::s32 y,
    Geo::s32 z
)

...

Returns the CPU pointer to write interpolated data for the given channel and grid coordinates.


Anchor
a8e71440093a6f1ebde844bc834be4654
a8e71440093a6f1ebde844bc834be4654

Geo::Matrix Enlighten::BaseDynamicObject::GetWorldToUvwMatrix

...

protected: Geo::Matrix GetWorldToUvwMatrix() const

...

Returns a matrix which transforms from world space to UVW volume texture coordinates to look up light probe data.


Anchor
a7ff5248f0fdeae31da42343550392d41
a7ff5248f0fdeae31da42343550392d41

virtual bool Enlighten::CpuDynamicObject::IsUpdatePending

...

public: virtual bool IsUpdatePending() const

...

Are any irradiance buffers marked for an update?


Anchor
ab359f3fb978d2eb0dc38569a34297ca0
ab359f3fb978d2eb0dc38569a34297ca0

virtual bool Enlighten::BaseDynamicObject::IsUpdatePending

...

protected: virtual bool IsUpdatePending() const

...

Are any irradiance buffers marked for an update?


Anchor
aa120057013f180735a03acd2f06ffdee
aa120057013f180735a03acd2f06ffdee

virtual void Enlighten::CpuDynamicObject::MarkUpdate

...

public: virtual void MarkUpdate
(
    bool value
)

...

Mark solution buffer as requiring update in next call to UpdateGpuTexture.


Anchor
a98a8f698ce797392b28d95c7ea1dae5d
a98a8f698ce797392b28d95c7ea1dae5d

virtual void Enlighten::BaseDynamicObject::MarkUpdate

...

protected: virtual void MarkUpdate
(
    bool value
)

...

Mark solution buffer as requiring update in next call to UpdateGpuTexture.


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.


Anchor
a73f2fc15938d43d72f64a7be028c7cec
a73f2fc15938d43d72f64a7be028c7cec

virtual void Enlighten::BaseDynamicObject::Release

...

protected: virtual void Release()

...

Free this object that was created within the Enlighten libraries.

Expect this to behave in a similar way to calling 'delete(this)'


Anchor
af6bdf30b42adde386c428e9dc2821eb9
af6bdf30b42adde386c428e9dc2821eb9

virtual void Geo::IGeoReleasable::Release

...

public: void Release()

...

Free this object that was created within the Enlighten libraries.

Expect this to behave in a similar way to calling 'delete(this)'


Anchor
a1adc90e2a64f79de206147b35d68bd68
a1adc90e2a64f79de206147b35d68bd68

void Enlighten::BaseDynamicObject::RequestInterpolationOnAllPoints

...

public: void RequestInterpolationOnAllPoints()

...

will setInterpolatedPoint:: m_RecomputeInterpolants to true on all the interpolated points.


Anchor
a6910c4d32faaa1dc8b82c31cca19ecef
a6910c4d32faaa1dc8b82c31cca19ecef

virtual void Enlighten::BaseDynamicObject::SetGpuTexture

...

public: virtual void SetGpuTexture
(
    ProbeVolumeOutputTextureType textureType,
    IGpuTexture * gpuTexture
)

...

Sets an output texture for the dynamic object.


Anchor
afc1464085f930b8db1ee7ec3b7821b0f
afc1464085f930b8db1ee7ec3b7821b0f

virtual void Enlighten::CpuDynamicObject::SetGpuTexture

...

public: virtual void SetGpuTexture
(
    ProbeVolumeOutputTextureType textureType,
    IGpuTexture * gpuTexture
)

...

Sets an output texture for the dynamic object.


Anchor
acb1c2ca24fa02c9accd40bbb0be8852a
acb1c2ca24fa02c9accd40bbb0be8852a

void Enlighten::BaseDynamicObject::SetTransform

...

public: void SetTransform
(
    const Geo::Matrix & transform
)

...

Sets the world transform for the object, and updates the world-to-uvw transform.


Anchor
a3727b1b3a46435a04657392106c17d47
a3727b1b3a46435a04657392106c17d47

virtual void Enlighten::CpuDynamicObject::UpdateGpuTexture

...

public: virtual void UpdateGpuTexture()

...

Update textures using the marked solution buffers.


Anchor
a98e90e48bc9e1d2510adf018932e208e
a98e90e48bc9e1d2510adf018932e208e

virtual void Enlighten::BaseDynamicObject::UpdateGpuTexture

...

protected: virtual void UpdateGpuTexture()

...

Update the GPU volume textures.