XII Release 0.1.0
Loading...
Searching...
No Matches
xiiVolumetricMediumManager Class Reference

#include <VolumetricMedium.h>

Static Public Member Functions

static bool IsSubsystemInitialized ()
static xiiResult Configure (const xiiVolumetricMediumSettings &settings)
static const xiiVolumetricMediumSettings & GetConfiguration ()
static xiiVolumetricMediumHandle RegisterMedium (const xiiVolumetricMediumDescription &description)
static void UnregisterMedium (xiiVolumetricMediumHandle handle)
static xiiResult UpdateMedium (xiiVolumetricMediumHandle handle, const xiiVolumetricMediumDescription &description)
static bool IsValid (xiiVolumetricMediumHandle handle)
static void SetCellResident (const xiiVec3I32 &vCell, bool bResident)
 Changes streaming residency for one spatial cell. Medium handles remain valid while streamed out.
static bool IsCellResident (const xiiVec3I32 &vCell)
static void GatherGpuMedia (const xiiVec3 &vViewPosition, xiiGpuVolumetricMediumArray &out_media)
 Builds the bounded GPU working set for a view. The result is deterministic for identical state.
static xiiVolumetricMediumStats GetStats ()
static xiiUInt64 PackCellKey (const xiiVec3I32 &vCell)
static void UnpackCellKey (xiiUInt64 uiKey, xiiVec3I32 &out_vCell)

Detailed Description

Subsystem-owned sparse hierarchy of bounded participating media.

World streaming marks cells resident or non-resident without invalidating stable medium handles. Per-view queries visit only overlapping resident cells, deduplicate volumes spanning multiple cells, and return a priority/distance sorted GPU working set.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Lighting/VolumetricMedium.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsCore/Lighting/Implementation/VolumetricMedium.cpp