ReadonlyctxReadonlysceneReadonlycameraReadonlydtDelta time in seconds since the previous frame.
ReadonlytimeSeconds since engine start (mirrors ctx.elapsedTime).
ReadonlyframeMonotonically increasing frame index.
ReadonlyopaqueOpaque draw items collected from MeshRenderers whose material is opaque.
ReadonlytransparentTransparent draw items collected from MeshRenderers whose material is transparent.
ReadonlyshadowShadow-caster mesh draws collected from MeshRenderers with castShadow=true.
Fresh per-frame render graph (or the cached graph when reused).
Backbuffer handle (always set by Engine before features run).
Output viewport rectangle in physical pixels, or null for the full backbuffer. Set by the engine's WebXR path so the final blit lands in the current eye's region of the shared projection-layer texture; null in the ordinary single-view path.
True when the frame should composite over a transparent background — set
by the engine in AR passthrough (immersive-ar). Features that own the
background (sky clear, tonemap) honor it: clear color alpha 0 and preserve
the scene's coverage alpha to the backbuffer so the real-world camera feed
shows through where nothing was drawn. False in ordinary opaque rendering.
Current HDR working target. Features that write color (sky/atmosphere, lighting, particles, overlays) update this to chain.
Deferred GBuffer once a geometry feature has produced one.
Cascaded shadow map produced by the shadow feature.
Half-res AO target produced by the AO feature.
Screen-space global-illumination irradiance buffer produced by the SSGI feature. DeferredLightingFeature consumes it as the indirect- diffuse term when present.
Scene depth produced by whichever geometry/forward feature ran. In
deferred mode this aliases gbuffer.depth; in forward mode the forward
feature populates this with its own depth attachment so post-process
features (TAA, DoF) work in both pipelines.
Screen-space velocity buffer (rg16float, UV-delta = current − previous)
produced by VelocityFeature, encoding camera + per-object motion.
Shared so TAA and motion blur reproject through one pass instead of each
re-rasterizing their own. Null when no velocity feature ran.
Auto-exposure buffer if the auto-exposure feature is enabled.
Persistent camera/light uniform buffers exposed by DeferredLightingFeature for downstream features (composite, godrays, etc.).
Open slot for features to pass handles around outside the well-known fields. Keyed by feature-defined strings.
Per-frame context handed to every RenderFeature. Engine populates the pre-bucketed draw lists, camera, timing, and the active RenderGraph before invoking
updateandaddPasseson the registered features.Features read inputs (
opaque,camera, ...) and write outputs into the mutable slots (hdr,gbuffer,shadowMap,ao, ...). Custom features that need to share handles outside the well-known slots use extras.