AbstractAbstract ReadonlynameHuman-readable identifier used in graph node labels and error messages.
AbstractaddInsert 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.