Skip to content

ludus::graphics::renderer::ReferenceCaptureDescription

Ludus Wiki · API overview · Browse API

Struct

Immutable reference integral and stop target. Camera coordinates and matrices match raster canonical XY [-1,1], depth [0,1], Y up, top-left image rows.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

#include <ludus/graphics/renderer/reference.hpp>
struct ludus::graphics::renderer::ReferenceCaptureDescription final

Fields

WorldToClip

ludus::foundation::math::Matrix4 ludus::graphics::renderer::ReferenceCaptureDescription::WorldToClip = ludus::foundation::math::Matrix4::Identity()
Exact unjittered raster world-to-clip matrix, finite and invertible.

Related types: ludus::foundation::math::Matrix4

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

CameraPosition

ludus::foundation::math::Vector3 ludus::graphics::renderer::ReferenceCaptureDescription::CameraPosition {0, 0, 1}
Perspective pinhole position in world meters; ignored for orthographic origins.

Related types: ludus::foundation::math::Vector3

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

OrthographicCamera

bool ludus::graphics::renderer::ReferenceCaptureDescription::OrthographicCamera = false
Orthographic rays start on the unprojected near plane; perspective starts at the pinhole.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

ReverseZ

bool ludus::graphics::renderer::ReferenceCaptureDescription::ReverseZ = false
False uses near depth zero/far one; true uses reverse-Z near one/far zero. Primary clipping follows this raster convention; secondary ranges are independent.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

InfiniteFar

bool ludus::graphics::renderer::ReferenceCaptureDescription::InfiniteFar = false
Infinite reverse-Z perspective far plane; secondary distance still stays bounded.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

Width

ludus::foundation::uint32 ludus::graphics::renderer::ReferenceCaptureDescription::Width = 0
Physical capture width; positive and admitted within the CPU budget.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

Height

ludus::foundation::uint32 ludus::graphics::renderer::ReferenceCaptureDescription::Height = 0
Physical capture height; positive and admitted within the CPU budget.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

TargetSamples

ludus::foundation::uint32 ludus::graphics::renderer::ReferenceCaptureDescription::TargetSamples = 1
Minimum committed samples per pixel requested before completion, 1..16777215. Increasing only this value continues the same accumulation.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

MaxDepth

ludus::foundation::uint32 ludus::graphics::renderer::ReferenceCaptureDescription::MaxDepth = 4
Maximum scattering events, 1..64. Emission/environment after the last event is evaluated. This explicitly truncates transport and introduces depth bias.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

RouletteDepth

ludus::foundation::uint32 ludus::graphics::renderer::ReferenceCaptureDescription::RouletteDepth = 3
Begin compensated Russian roulette after this many scattering events, 1..64.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

SecondaryDistance

ludus::foundation::float32 ludus::graphics::renderer::ReferenceCaptureDescription::SecondaryDistance = 1000000
Finite positive secondary-ray range in meters, at most 2000000.

Related types: ludus::foundation::float32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

Environment

ludus::foundation::math::Vector3 ludus::graphics::renderer::ReferenceCaptureDescription::Environment {}
Constant linear environment radiance in [0,10000], independently sampled with uniform sphere density. No baked lighting, AO or prefiltered IBL is added.

Related types: ludus::foundation::math::Vector3

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

EnvironmentTextureOrNull

const EnvironmentMap* ludus::graphics::renderer::ReferenceCaptureDescription::EnvironmentTextureOrNull = nullptr
Optional ready HDR map, retained at Begin/Update; replaces Environment. Reference transport samples raw source radiance and its solid-angle CDF, never raster prefiltered mips or diffuse SH. Same device is required.

Related types: EnvironmentMap

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

Lights

const DirectLight* ludus::graphics::renderer::ReferenceCaptureDescription::Lights = nullptr
Borrowed analytic directional/point/spot lights, validated and copied during Begin/Update. Existing L4 range/spot windows are part of this declared profile.

Related types: DirectLight

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

LightCount

ludus::foundation::usize ludus::graphics::renderer::ReferenceCaptureDescription::LightCount = 0
At most 128 unique lights; no L4 eight-light selection or overflow dropping.

Related types: ludus::foundation::usize

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

TextureMip

ludus::foundation::uint32 ludus::graphics::renderer::ReferenceCaptureDescription::TextureMip = 0
Fixed integer texture mip for both CPU shading and native opacity acceptance. Overrides per-material LOD selection, mip interpolation and LOD clamps. Every sampled color/surface/emission texture must retain this CPU mip. NativeQueries rejects authored masked materials until native opacity can evaluate routed UVs and vertex alpha; CpuOracle/GPU preview support them.

Related types: ludus::foundation::uint32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

Seed

ludus::foundation::uint64 ludus::graphics::renderer::ReferenceCaptureDescription::Seed = 0
Reproducible Philox capture seed; sampling is addressed by pixel/sample/dimension.

Related types: ludus::foundation::uint64

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

CenterRays

bool ludus::graphics::renderer::ReferenceCaptureDescription::CenterRays = false
Disable pixel jitter for primary-ray AOV/raster parity experiments. Recorded in the integral key; this estimates center rays rather than pixel footprints.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

LightSampling

ReferenceLightSampling ludus::graphics::renderer::ReferenceCaptureDescription::LightSampling = ReferenceLightSampling::UniformArea
Emissive-triangle next-event estimator. Recorded in the integral key: changing it replaces the job and resets accumulation. Values outside the enumeration are rejected.

Related types: ReferenceLightSampling

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp

OpticalWavelengthWorld

foundation::float32 ludus::graphics::renderer::ReferenceCaptureDescription::OpticalWavelengthWorld = 0
Zero retains geometric reference transport. Positive metres enable scalar paraxial Gaussian-mode coupling on finite light connections, including coherent diffraction by successive scene regions. The positive range starts at one nanometre; smaller values reject before capture preparation. Surface scattering stays RGB and unpolarized. Uses next-event estimation alone for light endpoints; continuation emission/environment after the primary is omitted, avoiding double counting with optical visibility. Requires UniformArea and CpuOracle/GpuCompute; NativeQueries rejects this profile. Lattice, projection and range limits are documented in render-graph-authoring.md, "Wave tracing". Changing wavelength resets accumulation. Nonfinite/negative values are rejected. No silent fallback.

Related types: foundation::float32

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/reference.hpp