ReadonlynameHuman-readable identifier used in graph node labels and error messages.
Halton sample count before the jitter sequence repeats.
Sub-pixel jitter amplitude multiplier (1 = full ±0.5 render px).
Current-frame weight when the pixel is static (low = heavy history, stable).
Current-frame weight once motion saturates (higher = ghost-free, noisier). Kept low (like TAA) so a continuously-moving camera still accumulates history instead of falling back to the aliased, low-res current frame.
Screen-space speed (display px/frame) at which static→moving saturates.
RCAS-style sharpening amount applied to the resolved image (0 = none).
StaticcreateApplies the next Halton sub-pixel jitter to ctx.activeCamera (sized to the
RENDER resolution) and uploads the reprojection + resolve uniform. Must run
BEFORE any geometry-fill pass's updateCamera this frame.
Resets the Halton sample index so the next frame restarts the jitter pattern.
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.
Temporal upscaler (FSR2-style, render-graph version).
Resolves a sub-native render-res HDR frame to display resolution by accumulating a reprojected display-res history with the Catmull-Rom-upsampled current frame, rejecting stale history via a YCoCg neighborhood clamp, then a light RCAS-style sharpen. Reuses the TAA Halton jitter (sized to the render resolution) and the shared velocity buffer. With
renderScale = 1the render and display resolutions match and it behaves as a high-quality TAA resolve.Drive the engine's
ctx.setRenderScale(s)(via TemporalUpscaleFeature) so every scene/lighting/post pass renders at the reduced size; this pass is the one that brings the image back up to display resolution.