![]() |
XII Release 0.1.0
|
#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) |
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.
|
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.