ReadonlynameHuman-readable identifier used in graph node labels and error messages.
ReadonlycountReadonlymaxHighest SH degree present in the loaded cloud.
ReadonlyusesWhether the depth sort uses the subgroup fast path.
Flip the cloud's up axis (180° about X) so Y-down 3DGS scenes display right-side up. Implemented entirely in updateCamera: the flip is folded into the view matrix the shader receives (which corrects both positions and the projected covariance), and the camera origin is mapped back into splat space so spherical-harmonic color stays correct.
Active SH degree used for view-dependent color (clamped to the cloud's max).
True while the intro animation is still resolving.
StaticcreateStaticcreateCreate a streaming pass: an empty merged buffer of maxSplats capacity that a tileset
fills slot-by-slot. The whole capacity is preprocessed + GLOBALLY depth-sorted every
frame (so splats from different tiles blend correctly); unwritten / freed slots are zero
(radius 0) so the render culls them. Fill it via writeSplats / clearSlots.
Used by "./gaussian_splat_tileset".GaussianSplatTileset.
Streaming: write a tile's splats into the merged buffer starting at splat index slot.
geometry/sh are a decoded SplatData's arrays (world-placed).
Streaming: zero count splats at index slot so the render culls them (radius 0).
Set the swirl center and scale (splat space). Used by the intro animation.
(Re)start the intro "swirl in" animation from the beginning.
Skip the intro — render fully resolved immediately.
Refresh per-frame uniforms from the camera. Call before addToGraph.
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.
Abstract base class for a render graph pass.
A pass is a container for long-lived GPU state — pipelines, bind group layouts, samplers, persistent uniform buffers — that on each frame is inserted into a RenderGraph via addToGraph. The graph itself does not store pass instances; it stores the read/write declarations and execute callback that
addToGraphregisters via the suppliedPassBuilder.Subclasses parameterize the dependency and output types so the factory can wire passes together with type-checked handles:
The convention is that the constructor builds long-lived state (pipelines etc.),
addToGraphdeclares per-frame resource flow, anddestroyreleases anything the pass owns.