This is the documentation for Enlighten.
class Enlighten PppiWorld
class Enlighten::PppiWorld
Updates output textures for all probe sets in the world.
Functions
Name | Description |
---|---|
AddProbeSet(const RadProbeSetCore *, Geo::u64 *, void *, Geo::u8) | Add a probe set to the world. |
GetAtlasTileCount() | Returns the number of tiles currently allocated within the atlas. |
GetProbeSetCount() | Return the number of probe sets added to the world. |
GetRequiredOutputTextures(PppiConfiguration) | Returns the required textures. Always provide the same configuration to the constructor of PppiWorld. |
PppiWorld(PppiConfiguration) | Construct with an optional configuration. |
ProbeSetOutputChanged(PppiProbeSetHandle) | Notify that the probe output changed for the given probe set. |
RemoveProbeSet(PppiProbeSetHandle) | Remove a probe set from the world. |
SetProbeSetStateHandler(IPppiProbeSetStateHandler *) | Use the provided probe set state callback. |
Update(UpdatePppiStats &, const Geo::v128 &, float, IPppiComputeUpdateHandler &, const PppiIrradiance16 *, Geo::u8) | Update indirection texture based on the view origin. |
Update(UpdatePppiStats &, const Geo::v128 &, float, const PppiIrradiance16 *, IPppiComputeUpdateHandler *, Geo::u8) | Update indirection texture based on the view origin. |
PppiProbeSetHandle Enlighten::PppiWorld::AddProbeSet
public: PppiProbeSetHandle AddProbeSet
(
  const RadProbeSetCore * probeSet,
  Geo::u64 * probeOutput,
  void * userData,
  Geo::u8 partition
)
Add a probe set to the world.
Parameters
[in] | probeSet | The probe set to add |
[in] | probeOutput | The output buffer where this probe set's values will be written |
[in] | userData | User defined value passed to IPppiProbeSetStateHandler::ProbeSetStateChanged. |
[in] | partition | The index of the partition containing this probe set. |
Geo::s32 Enlighten::PppiWorld::GetAtlasTileCount
public: Geo::s32 GetAtlasTileCount() const
Returns the number of tiles currently allocated within the atlas.
Use this to determine the appropriate size of the atlas.
Geo::u32 Enlighten::PppiWorld::GetProbeSetCount
public: Geo::u32 GetProbeSetCount() const
Return the number of probe sets added to the world.
static PppiOutputTextureRequirements Enlighten::PppiWorld::GetRequiredOutputTextures
public: PppiOutputTextureRequirements GetRequiredOutputTextures
(
  PppiConfiguration configuration
)
Returns the required textures. Always provide the same configuration to the constructor of PppiWorld.
Enlighten::PppiWorld::PppiWorld
public: PppiWorld
(
  PppiConfiguration configuration
)
Construct with an optional configuration.
void Enlighten::PppiWorld::ProbeSetOutputChanged
public: void ProbeSetOutputChanged
(
  PppiProbeSetHandle handle
)
Notify that the probe output changed for the given probe set.
Call before Update()
Parameters
[in] | handle | The handle of the probe set that was solved. |
void Enlighten::PppiWorld::RemoveProbeSet
public: void RemoveProbeSet
(
  PppiProbeSetHandle handle
)
Remove a probe set from the world.
Parameters
[in] | handle | The handle of the probe set to remove |
void Enlighten::PppiWorld::SetProbeSetStateHandler
public: void SetProbeSetStateHandler
(
  IPppiProbeSetStateHandler * stateHandler
)
Use the provided probe set state callback.
PppiShaderParameters Enlighten::PppiWorld::Update
public: PppiShaderParameters Update
(
  UpdatePppiStats & outStats,
  const Geo::v128 & viewOrigin,
  float lodDistance,
  IPppiComputeUpdateHandler & computeUpdateHandler,
  const PppiIrradiance16 * border,
  Geo::u8 partition
)
Update indirection texture based on the view origin.
Update atlas texture with output for all probe sets that changed since the last update.
Parameters
[out] | outStats | Profile numbers for the update. |
[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. |
[in] | computeUpdateHandler | Called during Update. |
[in] | border | If non-null, is the lighting for areas not covered by any probe set. |
[in] | partition | The index of the partition for which lighting is required. |
PppiShaderParameters Enlighten::PppiWorld::Update
public: PppiShaderParameters Update
(
  UpdatePppiStats & outStats,
  const Geo::v128 & viewOrigin,
  float lodDistance,
  const PppiIrradiance16 * border,
  IPppiComputeUpdateHandler * computeUpdateHandler,
  Geo::u8 partition
)
Update indirection texture based on the view origin.
Update atlas texture with output for all probe sets that changed since the last update.
Parameters
[out] | outStats | Profile numbers for the update. |
[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. |
[in] | border | If non-null, is the lighting for areas not covered by any probe set. |
[in] | computeUpdateHandler | If non-null, will be called during Update. |
[in] | partition | The index of the partition for which lighting is required. |