ReadonlynameStable identifier used for lookup, signature hashing, and pass-name keying.
When false, the feature is skipped each frame. Toggling triggers a cached-graph invalidation.
Runs once per frame across every feature before any feature's update.
Use for things that must mutate camera/uniform state before downstream
features sample it — e.g. TAA's sub-pixel jitter, which has to land on
the camera before geometry-fill passes read jitteredViewProjectionMatrix.
Plain per-frame uniform updates belong in update, not here.
Release GPU resources.
SMAA T2x — SMAA 1x (spatial morphological AA) combined with 2× temporal supersampling. Higher quality than SMAA 1x, plain TAA, or the upscaler: each frame is rendered at one of two sub-pixel jitter positions and cleaned by SMAA, then the two are resolved over time (reprojected + neighborhood-clamped). SMAA pre-cleaning the edges each frame means the temporal stage fights far less aliasing, so the result is crisp with little of TAA's ghosting/softening.
Pipeline per frame: jitter camera (2-sample) → geometry → SMAA 1x (with the subframe's subsample indices) → temporal resolve (a TAAPass in external-jitter mode with its own history). Register it where AA belongs (after lighting/overlays, before bloom/tonemap).
Reads
frame.hdr+frame.depth(andframe.velocityif a VelocityFeature ran), writes the resolved HDR back toframe.hdr.