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

#include <RayTracingResources.h>

Classes

struct  BuildHandles

Static Public Member Functions

static xiiResult Configure (const xiiRayTracingResourceLimits &description)
static const xiiRayTracingResourceLimits & GetConfiguration ()
static bool IsSubsystemInitialized ()
static bool IsInitialized ()
static bool IsHardwareRayTracingSupported ()
static xiiRayTracingGeometryHandle AcquireGeometry (const xiiRayTracingGeometryDescription &description)
static void ReleaseGeometry (xiiRayTracingGeometryHandle handle)
static bool IsValid (xiiRayTracingGeometryHandle handle)
static xiiRayTracingResourceStats GetStats ()
static BuildHandles AddBuildPass (xiiRenderGraph &graph, xiiUInt64 uiFrameIndex, xiiRayTracingFrameResources &worldResources, const xiiGpuInstanceData &instances, const xiiArrayPtr< const xiiUInt32 > *selection=nullptr, xiiRayTracingFrameResources *sharedGeometry=nullptr)

Friends

class xiiRayTracingFrameResourcesState

Detailed Description

Device-level shared BLAS residency. Owns no scene objects or TLAS instance registry.

CPU containers are allocated during core-system startup and released during core-system shutdown. Backend resources are created only after the GAL device exists and are released during high-level shutdown. Callers never construct or own a manager object.

Member Function Documentation

◆ AddBuildPass()

xiiRayTracingResources::BuildHandles xiiRayTracingResources::AddBuildPass ( xiiRenderGraph & graph,
xiiUInt64 uiFrameIndex,
xiiRayTracingFrameResources & worldResources,
const xiiGpuInstanceData & instances,
const xiiArrayPtr< const xiiUInt32 > * selection = nullptr,
xiiRayTracingFrameResources * sharedGeometry = nullptr )
staticnodiscard

Adds BLAS/TLAS construction to the graph on the compute queue.

A frame-in-flight TLAS ring prevents updates from mutating acceleration structures still used by older GPU submissions. The returned dependency buffer must be declared as a BuildASRead by every trace pass that consumes the returned TLAS. sharedGeometry optionally reuses the same world's deformation and dynamic BLAS across occurrences without sharing their writable TLAS or hit-data allocations.


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