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

#include <EmissiveLightManager.h>

Classes

struct  BuildDescription
struct  BuildOutputs

Static Public Member Functions

static xiiResult Configure (const xiiEmissiveLightSettings &settings)
static const xiiEmissiveLightSettings & GetConfiguration ()
static xiiEmissiveLightStats GetStats ()
static bool IsSubsystemInitialized ()
static bool IsInitialized ()
static BuildOutputs AddBuildPass (xiiRenderGraph &graph, xiiUInt64 uiFrameIndex, const BuildDescription &description)

Detailed Description

Process-wide GPU emissive-light extraction service.

The service does not retain CPU mesh copies or duplicate scene registrations. Each graph build consumes the generation-bearing geometry table, frame-sliced scene instances, and canonical material table, then reconstructs world-space emissive triangles from bindless mesh buffers. Allocator-backed state exists only between GraphicsCore subsystem startup and shutdown. Configuration, graph construction and statistics are synchronized. Startup/shutdown and references returned by GetConfiguration() require callers to quiesce configuration changes.

Member Function Documentation

◆ AddBuildPass()

xiiEmissiveLightManager::BuildOutputs xiiEmissiveLightManager::AddBuildPass ( xiiRenderGraph & graph,
xiiUInt64 uiFrameIndex,
const BuildDescription & description )
staticnodiscard

Adds async-compute extraction and power-weighted distribution passes. Outputs are explicit render-graph versions and must be passed directly to every consumer; there is intentionally no mutable "current buffer" API.


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