This is the documentation for Enlighten.
class Enlighten BaseDynamicObject
class Enlighten::BaseDynamicObject
Base class which holds everything a dynamic object must have (regardless of where the solving happens).
Variables
Name | Description |
|---|---|
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. |
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. |
Geo::Matrix m_WorldToUvw | Current world-space-to-uvw-coordinate transform of the object. |
Functions
Name | Description |
|---|---|
AllocateSolutionSpace(IGpuTextureAllocator *, Enlighten::eSHOrder, Enlighten::eSHOrder, bool) | Allocates space to hold the interpolated probe coefficients for the object. |
Constructor, taking a DynamicObject description. Called during IUpdateManager::AllocateDynamicObject. | |
Helper function to return the resolution of the output volume textures. | |
Returns the CPU pointer to write interpolated data for the given channel and grid coordinates. | |
Returns a matrix which transforms from world space to UVW volume texture coordinates to look up light probe data. | |
Are any irradiance buffers marked for an update? | |
Mark solution buffer as requiring update in next call to UpdateGpuTexture. | |
Free this object that was created within the Enlighten libraries. | |
Free this object that was created within the Enlighten libraries. | |
will setInterpolatedPoint:: m_RecomputeInterpolants to true on all the interpolated points. | |
Sets an output texture for the dynamic object. | |
Sets the world transform for the object, and updates the world-to-uvw transform. | |
Update the GPU volume textures. |
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.