ReadonlynameHuman-readable identifier used in graph node labels and error messages.
Debug/stats: the indirect args buffer + instance count from the last
addToGraph while GPU culling was active, or null otherwise. Each arg set is
INDIRECT_ARG_BYTES; the instanceCount field (u32 at i*5 + 1) is 0
for a culled instance and 1 for a drawn one. The buffer is COPY_SRC.
StaticcreateSet per-fragment clipping (CesiumJS-style clipping planes + polygon) for this pass.
Pass the packed uniform from GeoClipping.pack (call it every frame — the
floating origin shifts); pass null to disable. Applies to every opaque draw the
pass renders, which for a geo scene is the 3D tiles and the quantized-mesh terrain.
Opt-in GPU occlusion culling. Pass a GeometryCullConfig (set it each
frame) to cull this pass's draws against a Hi-Z pyramid via
drawIndexedIndirect; pass null to disable and use plain drawIndexed.
Off by default. The cull is conservative — it never drops a visible draw.
Upload per-frame camera uniforms from ctx.activeCamera (TAA-jittered VP).
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 geometry pass for material-bearing meshes (render-graph version).
Rasterizes DrawItems into the GBuffer (albedo+roughness, normal+metallic, depth32float). Each draw supplies its own Material; pipelines are cached per
material.shaderId. Camera uniforms and per-draw model uniforms are owned by the pass.