This is RenderMan 21 Documentation you are viewing. The Rmanwiki home page will redirect you to the current documentation.

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In movies and commercials, we often need to composite the CG objects over a live action plate. To convince the audience that the CG objects are real and belong to the scene, we need to use a holdout object to collect the CG objects' shadow and reflection that match very closely to the shadow and reflection in the live action plate.

Geometry

In RenderMan, holdout objects are specified by enabling the trace attribute holdout.

Code Block
Attribute "trace" "int holdout" [1]

Integrators and AOVs

Holdouts are an integrator feature implemented at the integrator level. Available integrator that support holdouts are: PxrPathTracer, PxrVCM, and PxrUPBP.

...

// A render of a beauty, diffuse, specular AOV

Lights

By default, light sources do not illuminate holdout objects directly. This prevents double contribution between 3d lights used to illuminate non-holdout geometry and the illumination already captured on the plate image.

...

Code Block
Light "PxrSphereLight" "spherelight" "string lightGroup" ["light__illumholdout"]

Shadows and Compositing

A holdout shadow pass can be output using the PxrShadowFilter plug-in. Occluded and unoccluded input AOVs should be rendered using the holdouts LPE prefix.

...

Compositing can be previewed in RenderMan by using PxrImagePlaneFilter SampleFilter plug-in. This will composite the beauty render over the specified image plane, using the alpha channel and holdout shadow AOV to mask the plate.

Additional Considerations

Because holdouts workflow involves multiple AOVs, rendering with adapt all enabled can reduce noise.

...