- Geometry
- Render
Reconstruct
Purpose
Section titled “Purpose”Reconstruct takes a render from Realtime Trace or Path Trace and returns a cleaner picture. Method chooses how:
- DLSS Ray Reconstruction, the default, reads all ten of the renderer’s images and keeps history from frame to frame. It can upscale the render by 1.5, 2 or 3 times, or clean it at its own size.
- OptiX Denoiser cleans each frame on its own from the picture, its albedo and its normals. It keeps no history and never changes the size.
- Off passes the renderer’s
fresh_beautythrough at its own size, so you can compare.
Use DLSS Ray Reconstruction for a picture in motion and whenever you want a bigger output than you render. Because OptiX keeps no history, nothing from an earlier frame can smear into the current one.
The quick way is Add Reconstruct, on the Output page of Realtime Trace or Path Trace. It places Reconstruct beside the renderer, wires beauty and sets Sizing Mode to Scale at 1x, so the output follows the render’s size through every resize. Pulse it again to select the Reconstruct that is already attached.
You can also place Reconstruct from the Geometry view of the Voro menu, under Render, and wire the renderer’s beauty into its beauty. That one wire is enough. Reconstruct takes the other nine guides from the same renderer, and a guide you wire yourself is kept. Check its Sizing Mode, which decides the output size.
Look at Reconstruct’s output, not the renderer’s beauty.
Inputs and outputs
Section titled “Inputs and outputs”The ten inputs take the renderer’s ten outputs of the same names. They must all come from one frame of one Path Trace or Realtime Trace. Those two renderers attach frame information Reconstruct checks. Behind Surface Renderer or any other image source, Reconstruct waits for guides that never come or stops with an error.
Reconstruct reads the renderer’s fresh_beauty, not its finished beauty, and does its own resolve over time. The renderer’s Exposure reaches Reconstruct. Its Display Transform does not, and neither does Realtime Trace’s temporal resolve.
beauty is the result, a GPU float32 image with the bottom row first. It is linear until Reconstruct’s own Display Transform, which is ACES by default.
Controls
Section titled “Controls”Reconstruct page:
- Method picks DLSS Ray Reconstruction, OptiX Denoiser or Off. Sizing Mode, Upscale Factor, Output Resolution and Output Size Preset only apply to DLSS Ray Reconstruction, and grey out otherwise.
- Sizing Mode Scale makes the output the render’s size times Upscale Factor: 1x, 1.5x, 2x or 3x. It follows the render when the render is resized.
- Sizing Mode Output Resolution fixes the output at Output Resolution, which Output Size Preset fills in. It must have the render’s aspect ratio, or Reconstruct waits and says the aspect differs. Larger than the render upscales. The same size cleans and anti-aliases at the render’s size, which the status calls DLAA. Smaller runs DLAA at the render’s size and then averages it down.
- Effective Size is read only. It shows the incoming render size, the output size and the ratio between them, or “Waiting for input frame”.
- RR Model Preset picks the DLSS Ray Reconstruction model: D (Transformer), the default, E (Latest Transformer), or the SDK Default.
- Reset starts the history over.
- Display Transform applies ACES or leaves the output linear. It runs after reconstruction, and the history stays linear. Set it to Linear when the output feeds a compositing chain with its own view transform.
Guides page:
- Motion Scale, Flip Motion X and Flip Motion Y change how DLSS Ray Reconstruction reads the motion guide. Path Trace and Realtime Trace publish motion the way Reconstruct expects, so leave them at their defaults for those renderers.
History starts over on a camera cut, when the render is resized, when you change Method, the output size, Sizing Mode or RR Model Preset, and on Reset.
Motion blur is the renderer’s. With Shutter set on Realtime Trace’s Lens page, Reconstruct blurs its own output by the same amount after reconstructing and upscaling, because the reconstruction needs the unblurred frame. Set Shutter on the renderer only.
Reconstruct waits, and keeps its last picture, while it cannot make a trustworthy one: until every guide has arrived, while a guide’s size differs from beauty’s, while the images come from different frames, and until the renderer’s camera is ready. An output size DLSS Ray Reconstruction cannot produce also makes it wait, with the reason in its status. Output sizes run from 16 to 8192 on each axis.
The DLSS runtime installs with Voro. If it is missing, choosing DLSS Ray Reconstruction stops with an error saying the runtime is unavailable, and the other two Methods still work.
Inputs
-
beautyimage required -
depthimage required -
normalimage required -
albedoimage required -
motionimage required -
specular_albedoimage required -
specular_hit_distanceimage required -
fresh_beautyimage required -
view_depthimage required -
motion_resetimage required
Outputs
-
beautyimage required
Parameters
Section titled “Parameters”Reconstruct
op('reconstruct').par.Resolution1 - Default:
3840- Range:
- 16 to 8192
op('reconstruct').par.Resolution2 - Default:
2160- Range:
- 16 to 8192
op('reconstruct').par.Reset - Default:
None
Guides
op('reconstruct').par.Rrmotionscale - Default:
1- Range:
- 0 to 4
op('reconstruct').par.Rrmotionflipx - Default:
Off- Options:
- Off, On
op('reconstruct').par.Rrmotionflipy - Default:
Off- Options:
- Off, On