ReadonlynameHuman-readable identifier used in graph node labels and error messages.
Light-culling strategy. 'none' (default) brute-forces every light per
pixel — cheap for a handful of lights. 'tiled' runs a compute pre-pass
that bins lights into 16×16 screen tiles (reading the existing G-buffer
depth, no depth pre-pass) so each pixel only shades the lights in its tile.
'clustered' bins into a 3D froxel grid (screen cells × exponential depth
slices) so depth-discontinuity tiles don't over-keep lights; it needs no
depth read at all. Both scale to the full
MAX_POINT_LIGHTS/MAX_SPOT_LIGHTS cap. All pipelines are
compiled up front so this can flip per-frame.
Runtime toggle for the LTC rect path (only meaningful when the pass was
created with useLtcAreaLights). Written into LightCounts.areaLightLtc each
frame; when false, rects fall back to representative-point shading.
StaticcreateRegister the IES photometric profiles a point/spot light's
iesProfileIndex can reference. Each profile is baked into one row of an
r16float LUT (vertical angle 0..180° across the row, peak normalized to 1),
sampled per-pixel in the lighting shader to reshape the light's falloff.
Call once after parsing the .ies files (re-call to replace the set). Pass
an empty array to clear them.
Insert the pass into graph for one frame. Implementations call
graph.addPass(name, type, b => { ... }) exactly once and use the
supplied PassBuilder to declare reads, writes, transient
resources, and the execute callback.
Graph being built this frame.
Pass-specific dependency record (handles, scene data, etc.).
Pass-specific output record (typically a set of handles downstream passes will consume).
Release every long-lived GPU resource owned by the pass (pipelines, persistent uniform buffers, samplers, BGLs). Called by the factory or application during teardown. Default implementation is a no-op.
Deferred point + spot lighting (render-graph version). Reads the GBuffer + VSM/projection textures and additively blends point/spot light contribution into the existing HDR target.