FUSION · NODE REFERENCE
dHoldout
Deep Background held out by a Deep Foreground
Studio-only two-input Deep operator: a Foreground Deep Image occludes samples in a Background Deep Image while the output remains Deep for further depth-aware compositing.
dHoldout
Overview
What dHoldout does
dHoldout [dHld] is a Deep Image Compositing tool in DaVinci Resolve Studio. An ordinary RGBA image stores one final color per pixel, while a Deep Image can contain multiple samples at different depths within that pixel. dHoldout resolves occlusion in Z rather than with a single flat mask.
The node has two meaningful inputs. Orange Background takes the Deep image whose hidden portions must be removed. White Foreground takes the Deep image of the occluder — the element in front that hides Background samples.
Foreground does not mean the node automatically merges a visible beauty layer into the result. It uses Foreground to calculate the holdout in Background. Continue with Deep compositing tools such as dMerge when the foreground also needs to be visible in the final composite.
dHoldout outputs a Deep Image. It is not a ready-made 2D frame or a regular Merge matte. Add DeepToImage after all depth-aware work is complete to preview or deliver an ordinary 2D image.
Begin with two compatible Deep sources and a simple opaque intersection. With Compute Occluded Samples off and Holdout Z Offset near zero, Foreground should occlude only the Background samples that lie behind it in depth.
Compute Occluded Samples addresses a specific semi-transparent Foreground case. The Resolve manual describes removing occluded samples and recomputing visible background pixels as if viewed through a partially transparent foreground. This is not an overall quality-enhancement switch.
Test Compute Occluded Samples with glass, smoke or a thin volume over readable background detail. Compare Off and On on the same frame and then in motion. With an entirely opaque Foreground, a small difference does not establish whether the special case works.
Holdout Z Offset moves the occluder's depth boundary. The documented direction is unambiguous: decreasing the value pushes the holdout forward, while increasing it moves it backward. Start at zero and compare small negative and positive offsets with other settings fixed.
Z Offset is a boundary correction, not a depth-unit converter. If a huge offset is required, occlusion is reversed or edges drift apart, check the camera, Z scale, depth convention and frame alignment before adjusting the node further.
Sample is a Viewer interaction: drag the button into the Viewer to choose a value. No exact numerical relationship between the sampled value and other controls is asserted here because the available manual description does not publish such a formula.
Holdout Center exposes X and Y coordinates for repositioning. The bundled Inspector capture shows both at 0.5, a useful neutral starting point rather than a universal required value. Center does not create Polygon geometry or substitute for a Deep Foreground input.
Background and Foreground should agree in frame timing, camera transform, resolution, framing and depth conventions. Mismatched cameras or even a single-frame offset can produce false cutouts, doubled boundaries or unstable intersections.
Deep compositing should take place in linear color space. If sources come from different renderers or have undergone different color processing, check RGB/alpha interpretation and Z conventions before blaming dHoldout.
Some Resolve Deep nodes support automatic conversion of a flat input into Deep. This convenience does not turn arbitrary RGB/alpha into a coherent set of physical depth samples: verify both the datatype and the meaning of its depth.
For inspection, create a diagnostic dHoldout → DeepToImage → Viewer branch and compare it with the unheld Background. This shows the outcome in 2D without destroying the main Deep graph; dHoldout itself still outputs Deep data.
If the result behaves like a coarse black-and-white cutout, first confirm that both inputs actually contain Deep data. A flat Polygon, an Effect Mask and a Deep Foreground occluder are not interchangeable sources of depth occlusion.
With moving objects, review a range of frames. Boundary popping is often caused by inconsistent sample depths, camera motion or render passes sampled at different times. Arbitrary Z Offset keyframes usually hide the symptom rather than fix the cause.
On glass, smoke and fine transparent edges, judge the flattened preview in both RGB and alpha over the intended background. One good still frame does not guarantee stable transparency through the whole shot.
If a shot does not require multiple depths within a pixel, a regular 2D matte may be simpler and cheaper. dHoldout is valuable precisely when per-sample depth ordering matters more than a flat silhouette.
A typical pipeline sends Deep Background and Deep Occluder to dHoldout, then continues through other Deep operators such as dMerge, with DeepToImage at the final hand-off to 2D. The exact order depends on the shot.
The project includes a genuine Inspector capture of Compute Occluded Samples, Holdout Z Offset, Sample and Holdout Center X/Y. It documents actual labels, not the rendering behavior of a particular Resolve build.
When assembling .comp/.setting programmatically, verify port IDs and serialized control identifiers by exporting from the target Resolve build. This article documents the user-visible controls but does not claim that live graph certification is complete.
When to use it
Hide CG/background Deep samples behind foreground geometry without manual 2D roto
Create holdouts for glass, smoke and other semi-transparent Deep elements
Remove samples physically located behind a depth-aware foreground
Prepare a Deep branch for dMerge and other Deep operations
Bias close depth intersections with a small Holdout Z Offset
Preserve Deep structure until the final DeepToImage flatten
dHoldout in context
Screenshots referenced by this article. Open an image to inspect it at full size.
Example for dHoldout.
Original image