Builtin Library
README.md
temporalUpscale
The settings behind the reconstruction, and the switch that starts it.
local Upscale = require("@builtin::systems.temporalUpscale.temporalUpscale")
Upscale.enable({ renderScale = 0.5 }) -- render at half, present at full
Upscale.enable({ sharpness = 0.5 }) -- retune; omitted fields keep their value
Upscale.get() -- what is in force, incl. the live scale
Upscale.active() -- whether the pass is running
Upscale.disable() -- release the pass
| field | effect |
|---|---|
historyWeight | How much of the accumulation to keep each frame. Higher resolves more and settles smoother; it also takes longer to let go of what a surface used to look like. |
neighbourhoodClamp | How far outside the current frame's own colour spread an accumulated sample may sit before it is pulled back in. |
sharpness | How much of the edge lost to averaging — and to the interpolation that brought the frame up to size — is added back. |
motionRejection | How much fast motion shortens the memory, which is what keeps a moving object from trailing behind itself. |
renderScale | The fraction of the display's resolution the scene rasterizes at. Omit to leave it wherever it is. |
enable moves the render scale only when you pass renderScale, so a
dynamic-resolution controller (@builtin::systems.renderScale.renderScale)
keeps steering it while the reconstruction runs.