This class is the base interface for the singleton object which manages all of the Enlighten updates for the systems and lights in the world, according to the current update strategy, solve type and albedo type.
Name | Description |
---|---|
AllocateCubeMap(const RadCubeMapCore *, IGpuTexture *) | Allocate a cube map object. |
AllocateDynamicObject(const Enlighten::DynamicObject &) | Allocate a dynamic object. |
AllocateProbeSet(const RadProbeSetCore *, bool, Enlighten::eSHOrder, RawBuffer) | Allocate a probe set object. |
AllocateStaticProbeSet(const RadProbeSetCore *, bool, Enlighten::eSHOrder, RawBuffer) | Allocate a probe set object that is not solved at runtime. |
AllocateStaticSystem(Geo::GeoGuid, InputLightingBuffer *, Geo::s32) | Allocate a radiosity system where the lighting does not change at runtime. |
AllocateStaticSystem(Geo::GeoGuid, InputLightingBuffer *) | Allocate a radiosity system where the lighting does not change at runtime. |
AllocateSystem(const InputWorkspace *, const PrecomputedVisibilityData *, Geo::s32) | Allocate a radiosity system. |
AllocateSystem(const InputWorkspace *, const PrecomputedVisibilityData *) | Allocate a radiosity system. |
AllocateSystem(const RadSystemCore *, const InputWorkspace *, const PrecomputedVisibilityData *, IGpuTexture *, Geo::s32) | Allocate a radiosity system. |
AllocateSystem(const RadSystemCore *, const InputWorkspace *, const PrecomputedVisibilityData *, IGpuTexture *) | Allocate a radiosity system. |
AllocateSystemSolutionSpace(const RadSystemCore *) | Allocate the solution space, which contains the textures and memory for the output, for a system. |
AllocateSystemSolutionSpace(const RadSystemCore *, IGpuTexture *, eOutputFormat) | Allocate the solution space, which contains the textures and memory for the output, for a system. |
AllocateSystemSolutionSpace(const RadSystemCore *, IGpuTexture *) | Allocate the solution space, which contains the textures and memory for the output, for a system. |
Clear() | Wait until asynchronous processing has finished, then remove all objects from the update manager. |
DetachCubeMap(Geo::GeoGuid) | Advanced: remove a cube map from the render thread-side list, prior to its removal. |
DetachDynamicObject(Geo::GeoGuid) | Advanced: remove a dynamic object from the render thread-side list, prior to its removal. |
DetachProbeSet(Geo::GeoGuid) | Advanced: remove a probe set from the render thread-side list, prior to its removal. |
DetachSystem(Geo::GeoGuid) | Advanced: remove a system from the render thread-side system list, prior to its removal. |
EnqueueAddCubeMap(BaseCubeMap *) | Add a previously allocated cube map to the worker's list. |
EnqueueAddDynamicObject(BaseDynamicObject *) | Add a previously allocated dynamic object to the worker's list. |
EnqueueAddProbeSet(BaseProbeSet *) | Add a previously allocated probe set to the worker's list. |
EnqueueAddSystem(BaseSystem *) | Add a previously allocated system to the worker's list. |
EnqueueReleaseSystemSolutionSpaces(ISystemSolutionSpace *const *, Geo::s32) | Enqueue system solution spaces release. |
EnqueueRemoveAllLights() | Removes all lights. |
EnqueueRemoveCubeMap(Geo::GeoGuid, RemovalMode) | Remove or disable updates for a cube map. |
EnqueueRemoveDynamicObject(Geo::GeoGuid) | Removes a dynamic object. |
EnqueueRemoveEmissiveEnvironment(Geo::GeoGuid) | Removes an environment. |
EnqueueRemoveLight(Geo::GeoGuid) | Removes a light. |
EnqueueRemoveProbeSet(Geo::GeoGuid, RemovalMode) | Remove or disable updates for a probe set. |
EnqueueRemoveProbeSet(BaseProbeSet *) | Remove a probe set. |
EnqueueRemoveSystem(Geo::GeoGuid, RemovalMode) | Remove or disable updates for a system. |
EnqueueRemoveSystemSolutionSpaces(Geo::GeoGuid) | Enqueue system solution spaces remove. |
EnqueueSetAllUpdateCounters(Geo::s32) | Set the update counters for all systems, probe sets and cube maps in the update manager. |
EnqueueSetDoFullSolveNextFrame() | Set the flag which turns off temporal coherence for the next frame and performs a full solve from scratch. |
EnqueueSetLightBankUpdateCounter(Geo::s32, Geo::s32) | Set the light bank update counter for the given light bank. |
EnqueueSetProbeSetManager(IProbeSetManager *) | Set the Probe Set Manager object. |
EnqueueSetProbeSetTransform(Geo::GeoGuid, const Geo::Matrix &) | Set the world-to-local-space transform for the given probe set. This will trigger a global recomputation of all probe interpolants. |
EnqueueSetVisibilityBits(Geo::GeoGuid, Geo::GeoGuid, void *) | Set the visibility data associated to a given (system/cube map, spotlight) pair. |
EnqueueSetWorkerProperties(const UpdateManagerWorkerProperties &) | Enqueue a change to the worker's global state. |
EnqueueUpdateEmissiveEnvironment(Geo::GeoGuid, Geo::s32, const Geo::v128 *) | Update the environment with the given GUID. If this environment hasn't been updated before it will be added to the update manager. |
EnqueueUpdateLight(const Geo::GeoGuid &, const LightType &, UpdateLightOptions) | Add the light. |
FlushCommands() | Wait for all commands to be executed before proceeding. This blocks the current thread, potentially for a long time. |
GetCubeMapTexture(Geo::GeoGuid) | Get the output texture for the cube map texture. |
GetDynamicObjectEnvironmentVisibilityShCoeff(Geo::GeoGuid, Geo::SHCoeff &) | Gets the environment visibility probe output for a given dynamic object. |
GetDynamicObjectShCoeff(Geo::GeoGuid, Geo::SHCoeff &, Geo::SHCoeff &, Geo::SHCoeff &) | Gets the probe output for a given dynamic object. |
GetNumCubeMaps() | Returns number of cube maps registered with the update manager. |
GetNumDynamicObjects() | Returns number of dynamic objects registered with the update manager. |
GetNumProbeSets() | Returns number of probe sets registered with the update manager. |
GetNumSystems() | Returns number of systems registered with the update manager. |
GetOutputTexture(Geo::GeoGuid, OutputTextureType) | Gets the output texture of the given type for the given system. |
GetPppiRequiredOutputTextures() | Returns information about the required PPPI output textures. |
GetProbeOutput(Geo::GeoGuid, Geo::s32) | Returns the probe output for the given probe set and probe index, or NULL if the probe set produces compressed output. |
GetProbeOutputIfUpdated(Geo::GeoGuid, Geo::s32 *) | Returns the probe output if the probeset has been updated since this function was last called on it, otherwise NULL. |
GetTextureUpdateTicks() | Get the total number of ticks spent updating GPU textures. |
GetU8ProbeOutput(Geo::GeoGuid, Geo::s32) | Returns the compressed probe output for the given probe set and probe index, or NULL if the probe set produces uncompressed output. |
GetWorldToUvwMatrix(Geo::GeoGuid) | Gets the matrix to transform world space to UVW texture space for a dynamic object. |
HasCubeMap(Geo::GeoGuid) | Returns true if the update manager has a cube map with this GUID; false if it doesn't. |
HasDynamicObject(Geo::GeoGuid) | Returns true if the update manager has a dynamic object with this GUID. |
HasProbeSet(Geo::GeoGuid) | Returns true if the update manager has a probe set with this GUID; false if it doesn't. |
HasSystem(Geo::GeoGuid) | Returns true if the update manager has a system with this GUID; false if it doesn't. |
IsUpdateLimited() | Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled? |
Release() | Destroys the update manager and all the resources it owns. |
Release() | Free this object that was created within the Enlighten libraries. |
RequiresVisibilityDataOnCpu() | Returns true for Update Managers that require spotlight visibility to be copied to the CPU before it can be used. |
SetPppiOutputWorkspace(const PppiOutputWorkspace &, IPppiTextureUpdateHandler *) | Use the provided PPPI output textures. |
StopWorking() | Wait for all asynchronous processing to finish, then quit the worker thread(s), if any. |
Update() | The main update function. |
Update(const Geo::v128 &, float) | The main update function. |
UpdatePppi(const Geo::v128 &, const IViewVolumeIntersector *, float) | Update PPPI indirection texture based on the view origin. |
UpdatePppiBorder(const PppiIrradiance &) | Update the lighting for parts of the PPPI volume not covered by any probe set. |
public: BaseCubeMap * AllocateCubeMap
(
const RadCubeMapCore * coreData,
IGpuTexture * outputTexture
)
Allocate a cube map object.
Pointer parameters that are are owned by the caller may be read any time after EnqueueAddCubeMap and before the completion of the async RemoveCubeMap command.
[in] | coreData | The runtime data that represents the cube map. |
[in] | coreData | The radiosity core data for the cubemap. Does not take ownership. |
[in] | outputTexture | The cubemap output texture. Takes ownership. |
public: BaseDynamicObject * AllocateDynamicObject
(
const Enlighten::DynamicObject & dynamicObjectDesc
)
Allocate a dynamic object.
This will add the object to the update manager's list but it must be separately added to the worker's copy via EnqueueAddDynamicObject.
[in] | dynamicObjectDesc | The dynamic object to add |
public: BaseProbeSet * AllocateProbeSet
(
const RadProbeSetCore * coreData,
bool useU8Output,
Enlighten::eSHOrder shOrder,
RawBuffer output
)
Allocate a probe set object.
Pointer parameters that are are owned by the caller may be read (and output may be written) any time after EnqueueAddProbeSet and before the completion of the async RemoveProbeSet command.
[in] | coreData | The runtime data that represents the probe set. Owned by the caller. |
[in] | useU8Output | When true, this probe set is solved to compressed probe output format. This may reduce lighting quality and introduce artifacts. |
[in] | shOrder | The number of spherical harmonic coefficients in the solved output for this probe set. |
[in] | output | The (optional) output buffer. Owned by the caller. This buffer may be written to any time after AddProbeSet and before the completion of the async RemoveProbeSet command. |
public: BaseProbeSet * AllocateStaticProbeSet
(
const RadProbeSetCore * coreData,
bool useU8Output,
Enlighten::eSHOrder shOrder,
RawBuffer output
)
Allocate a probe set object that is not solved at runtime.
Pointer parameters that are are owned by the caller may be read (and output may be written) any time after EnqueueAddProbeSet and before the completion of the async RemoveProbeSet command.
[in] | coreData | The runtime data that represents the probe set. Owned by the caller. |
[in] | useU8Output | When true, this probe set is solved to compressed probe output format. This may reduce lighting quality and introduce artifacts. |
[in] | shOrder | The number of spherical harmonic coefficients in the solved output for this probe set. |
[in] | output | The (optional) output buffer. Owned by the caller. This buffer may be written to any time after AddProbeSet and before the completion of the async RemoveProbeSet command. |
public: BaseSystem * AllocateStaticSystem
(
Geo::GeoGuid systemId,
InputLightingBuffer * inputLightingBuffer,
Geo::s32 lightChannels
)
Allocate a radiosity system where the lighting does not change at runtime.
A saved InputLightingBuffer ensures that the lighting bounces into systems which depend on this system. Pointer parameters that are are owned by the caller may be read any time after EnqueueAddSystem and before the completion of the async RemoveSystem command.
[in] | systemId | The unique ID of the system. Provide the same value to RemoveSystem. |
[in] | inputLightingBuffer | The (static) input lighting for the system. Owned by the caller. |
[in] | lightChannels | Only lights which have the same light channel bit set are used as input for this system. |
public: BaseSystem * AllocateStaticSystem
(
Geo::GeoGuid systemId,
InputLightingBuffer * inputLightingBuffer
)
Allocate a radiosity system where the lighting does not change at runtime.
A saved InputLightingBuffer ensures that the lighting bounces into systems which depend on this system. Pointer parameters that are are owned by the caller may be read any time after EnqueueAddSystem and before the completion of the async RemoveSystem command.
[in] | systemId | The unique ID of the system. Provide the same value to RemoveSystem. |
[in] | inputLightingBuffer | The (static) input lighting for the system. Owned by the caller. |
public: BaseSystem * AllocateSystem
(
const InputWorkspace * inputWorkspace,
const PrecomputedVisibilityData * visibilityData,
Geo::s32 lightChannels
)
Allocate a radiosity system.
Pointer parameters that are are owned by the caller may be read any time after EnqueueAddSystem and before the completion of the async RemoveSystem command.
[in] | inputWorkspace | The input workspace data for this system. Owned by the caller. |
[in] | visibilityData | The directional visibility data for this system. Owned by the caller. |
[in] | lightChannels | Only lights which have the same light channel bit set are used as input for this system. |
public: BaseSystem * AllocateSystem
(
const InputWorkspace * inputWorkspace,
const PrecomputedVisibilityData * visibilityData
)
Allocate a radiosity system.
Pointer parameters that are are owned by the caller may be read any time after EnqueueAddSystem and before the completion of the async RemoveSystem command.
[in] | inputWorkspace | The input workspace data for this system. Owned by the caller. |
[in] | visibilityData | The directional visibility data for this system. Owned by the caller. |
public: BaseSystem * AllocateSystem
(
const RadSystemCore * coreData,
const InputWorkspace * inputWorkspace,
const PrecomputedVisibilityData * visibilityData,
IGpuTexture * outputTextures,
Geo::s32 lightChannels
)
Allocate a radiosity system.
Pointer parameters that are are owned by the caller may be read any time after EnqueueAddSystem and before the completion of the async RemoveSystem command. Takes ownership of the output textures.
public: BaseSystem * AllocateSystem
(
const RadSystemCore * coreData,
const InputWorkspace * inputWorkspace,
const PrecomputedVisibilityData * visibilityData,
IGpuTexture * outputTextures
)
Allocate a radiosity system.
Pointer parameters that are are owned by the caller may be read any time after EnqueueAddSystem and before the completion of the async RemoveSystem command. Takes ownership of the output textures.
public: ISystemSolutionSpace * AllocateSystemSolutionSpace
(
const RadSystemCore * coreData
)
Allocate the solution space, which contains the textures and memory for the output, for a system.
This version requires an IGpuTextureAllocator to have been set on the update manager properties.
public: ISystemSolutionSpace * AllocateSystemSolutionSpace
(
const RadSystemCore * coreData,
IGpuTexture * outputTextures,
eOutputFormat irradianceTextureFormat
)
Allocate the solution space, which contains the textures and memory for the output, for a system.
This version requires the customer allocated textures to be provided. Deprecated
The irradianceTextureFormat argument is deprecated.
public: ISystemSolutionSpace * AllocateSystemSolutionSpace
(
const RadSystemCore * coreData,
IGpuTexture * outputTextures
)
Allocate the solution space, which contains the textures and memory for the output, for a system.
This version requires the customer allocated textures to be provided.
public: void Clear()
Wait until asynchronous processing has finished, then remove all objects from the update manager.
public: void DetachCubeMap
(
Geo::GeoGuid cubeMapId
)
Advanced: remove a cube map from the render thread-side list, prior to its removal.
This is automatically performed by EnqueueRemoveCubeMap, so only needs to be called if you are using a custom command to perform the removal.
public: void DetachDynamicObject
(
Geo::GeoGuid objectId
)
Advanced: remove a dynamic object from the render thread-side list, prior to its removal.
This is automatically performed by EnqueueRemoveDynamicObject, so only needs to be called if you are using a custom command to perform the removal.
public: BaseProbeSet * DetachProbeSet
(
Geo::GeoGuid probeSetId
)
Advanced: remove a probe set from the render thread-side list, prior to its removal.
This is automatically performed by EnqueueRemoveProbeSet, so only needs to be called if you are using a custom command to perform the removal.
public: void DetachSystem
(
Geo::GeoGuid systemId
)
Advanced: remove a system from the render thread-side system list, prior to its removal.
This is automatically performed by EnqueueRemoveSystem, so only needs to be called if you are using a custom command to perform the removal.
public: bool EnqueueAddCubeMap
(
BaseCubeMap * cubeMap
)
Add a previously allocated cube map to the worker's list.
public: bool EnqueueAddDynamicObject
(
BaseDynamicObject * object
)
Add a previously allocated dynamic object to the worker's list.
public: bool EnqueueAddProbeSet
(
BaseProbeSet * probeSet
)
Add a previously allocated probe set to the worker's list.
public: bool EnqueueAddSystem
(
BaseSystem * system
)
Add a previously allocated system to the worker's list.
public: void EnqueueReleaseSystemSolutionSpaces
(
ISystemSolutionSpace *const * ,
Geo::s32 count
)
Enqueue system solution spaces release.
This will add the solution spaces to a list of objects to destroy on next update.
public: void EnqueueRemoveAllLights()
Removes all lights.
public: void EnqueueRemoveCubeMap
(
Geo::GeoGuid cubeMapId,
RemovalMode removalMode
)
Remove or disable updates for a cube map.
public: void EnqueueRemoveDynamicObject
(
Geo::GeoGuid objectId
)
Removes a dynamic object.
public: void EnqueueRemoveEmissiveEnvironment
(
Geo::GeoGuid environmentId
)
Removes an environment.
public: void EnqueueRemoveLight
(
Geo::GeoGuid lightId
)
Removes a light.
public: void EnqueueRemoveProbeSet
(
Geo::GeoGuid probeSetId,
RemovalMode removalMode
)
Remove or disable updates for a probe set.
public: void EnqueueRemoveProbeSet
(
BaseProbeSet * probeSet
)
Remove a probe set.
public: void EnqueueRemoveSystem
(
Geo::GeoGuid systemId,
RemovalMode removalMode
)
Remove or disable updates for a system.
public: void EnqueueRemoveSystemSolutionSpaces
(
Geo::GeoGuid systemId
)
Enqueue system solution spaces remove.
This will remove all the solution spaces from a system.
public: void EnqueueSetAllUpdateCounters
(
Geo::s32 count
)
Set the update counters for all systems, probe sets and cube maps in the update manager.
public: void EnqueueSetDoFullSolveNextFrame()
Set the flag which turns off temporal coherence for the next frame and performs a full solve from scratch.
public: void EnqueueSetLightBankUpdateCounter
(
Geo::s32 lightBankId,
Geo::s32 count
)
Set the light bank update counter for the given light bank.
public: bool EnqueueSetProbeSetManager
(
IProbeSetManager * probeSetManager
)
Set the Probe Set Manager object.
public: void EnqueueSetProbeSetTransform
(
Geo::GeoGuid probeSetId,
const Geo::Matrix & transform
)
Set the world-to-local-space transform for the given probe set. This will trigger a global recomputation of all probe interpolants.
public: void EnqueueSetVisibilityBits
(
Geo::GeoGuid objectId,
Geo::GeoGuid lightId,
void * visibilityBits
)
Set the visibility data associated to a given (system/cube map, spotlight) pair.
Typically, this data will have been computed using the GPU (for instance, in GeoRadiosity by the GpuSpotlightVisibilityEngine).
public: bool EnqueueSetWorkerProperties
(
const UpdateManagerWorkerProperties & properties
)
Enqueue a change to the worker's global state.
public: void EnqueueUpdateEmissiveEnvironment
(
Geo::GeoGuid environmentId,
Geo::s32 resolution,
const Geo::v128 * values
)
Update the environment with the given GUID. If this environment hasn't been updated before it will be added to the update manager.
public: void EnqueueUpdateLight
(
const Geo::GeoGuid & guid,
const LightType & light,
UpdateLightOptions options
)
Add the light.
[in] | guid | The unique ID of the light source. |
[in] | light | The light object derived from Enlighten::InputLightBase |
[in] | options | Optional properties of the light. |
public: void FlushCommands()
Wait for all commands to be executed before proceeding. This blocks the current thread, potentially for a long time.
public: IGpuTexture * GetCubeMapTexture
(
Geo::GeoGuid cubeMapId
) const
Get the output texture for the cube map texture.
Implemented with a binary search by GUID. To avoid calling this, keep a reference to the output texture you provide to AllocateCubeMap.
public: bool GetDynamicObjectEnvironmentVisibilityShCoeff
(
Geo::GeoGuid objectId,
Geo::SHCoeff & envVisCoeff
) const
Gets the environment visibility probe output for a given dynamic object.
public: bool GetDynamicObjectShCoeff
(
Geo::GeoGuid objectId,
Geo::SHCoeff & redCoeff,
Geo::SHCoeff & greenCoeff,
Geo::SHCoeff & blueCoeff
) const
Gets the probe output for a given dynamic object.
public: Geo::s32 GetNumCubeMaps() const
Returns number of cube maps registered with the update manager.
public: Geo::s32 GetNumDynamicObjects() const
Returns number of dynamic objects registered with the update manager.
public: Geo::s32 GetNumProbeSets() const
Returns number of probe sets registered with the update manager.
public: Geo::s32 GetNumSystems() const
Returns number of systems registered with the update manager.
public: IGpuTexture * GetOutputTexture
(
Geo::GeoGuid systemId,
OutputTextureType textureType
) const
Gets the output texture of the given type for the given system.
Implemented with a binary search by GUID. To avoid calling this, keep a reference to the output textures you provide to AllocateSystem or AllocateSystemSolutionSpace.
public: PppiOutputTextureRequirements GetPppiRequiredOutputTextures() const
Returns information about the required PPPI output textures.
public: const float * GetProbeOutput
(
Geo::GeoGuid probeSetId,
Geo::s32 probeIndex
) const
Returns the probe output for the given probe set and probe index, or NULL if the probe set produces compressed output.
public: const float * GetProbeOutputIfUpdated
(
Geo::GeoGuid probeSetId,
Geo::s32 * outStride
) const
Returns the probe output if the probeset has been updated since this function was last called on it, otherwise NULL.
/param[out] outStride If not NULL, receives the output stride in floats.
public: Geo::s64 GetTextureUpdateTicks() const
Get the total number of ticks spent updating GPU textures.
public: const Geo::u8 * GetU8ProbeOutput
(
Geo::GeoGuid probeSetId,
Geo::s32 probeIndex
) const
Returns the compressed probe output for the given probe set and probe index, or NULL if the probe set produces uncompressed output.
public: Geo::Matrix GetWorldToUvwMatrix
(
Geo::GeoGuid objectId
) const
Gets the matrix to transform world space to UVW texture space for a dynamic object.
public: bool HasCubeMap
(
Geo::GeoGuid cubeMapId
)
Returns true if the update manager has a cube map with this GUID; false if it doesn't.
public: bool HasDynamicObject
(
Geo::GeoGuid objectId
)
Returns true if the update manager has a dynamic object with this GUID.
public: bool HasProbeSet
(
Geo::GeoGuid probeSetId
)
Returns true if the update manager has a probe set with this GUID; false if it doesn't.
public: bool HasSystem
(
Geo::GeoGuid systemId
)
Returns true if the update manager has a system with this GUID; false if it doesn't.
public: bool IsUpdateLimited() const
Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled?
public: void Release()
Destroys the update manager and all the resources it owns.
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)'
public: bool RequiresVisibilityDataOnCpu() const
Returns true for Update Managers that require spotlight visibility to be copied to the CPU before it can be used.
public: void SetPppiOutputWorkspace
(
const PppiOutputWorkspace & outputWorkspace,
IPppiTextureUpdateHandler * updateHandler
)
Use the provided PPPI output textures.
Call once, before AllocateProbeSet.
[in] | outputWorkspace | The output textures. |
[in] | updateHandler | If non-null, will be called after partial updates of the output textures. Owned by the caller. May be called at any time before the update manager is destroyed. |
public: void StopWorking()
Wait for all asynchronous processing to finish, then quit the worker thread(s), if any.
public: void Update()
The main update function.
This should be called once per frame from the rendering thread.
public: PppiShaderParameters Update
(
const Geo::v128 & viewOrigin,
float lodDistance
)
The main update function.
This should be called once per frame from the rendering thread.
[in] | viewOrigin | The position in world units at which the greatest level of detail is required. This is usually the camera position. |
[in] | lodDistance | The distance in voxel units from the view origin at which to begin reduction of the level of detail, zero for maximum. |
public: PppiShaderParameters UpdatePppi
(
const Geo::v128 & viewOrigin,
const IViewVolumeIntersector * viewVolume,
float lodDistance
)
Update PPPI indirection texture based on the view origin.
Update PPPI atlas texture with output for all probe sets that changed since the last update.
[in] | viewOrigin | The position in world units at which the greatest level of detail is required. This is usually the camera position. |
[in] | viewVolume | The view volume within which probe sets are updated. If null, all probe sets are updated. |
[in] | lodDistance | The distance in voxel units from the view origin at which to begin reduction of the level of detail, zero for maximum. |
public: void UpdatePppiBorder
(
const PppiIrradiance & border
)
Update the lighting for parts of the PPPI volume not covered by any probe set.