You are viewing RenderMan 22 documentation which is not the current release. You may view the current documentation by visiting the home page.

Page tree


The Manifold Walk option in PxrUnified makes use of a technique to generate caustics that can be less expensive than generating photons through the scene. It also excels when using small light sources. You can also fine tune what is and isn't a receiving or caustic generating material. This is especially useful for eyes in VFX and Feature Animation work. You can selectively have the cornea trace caustics onto the iris of the eye adding realism and beauty. You can also better illuminate objects realistically behind or inside transmissive objects.

Below we go over the steps in a simple scene for using the Manifold Walk.

In the example below we have a simple ground plane and a glass cylinder. The ground plane is diffuse and the cylinder is glass. The default render using Thin Shadows produces this result:


Thin Shadows (default behavior)


This is acceptable but we want some shape to the light focused through the cylinder. So follow these steps below:


  1. In the ground diffuse PxrSurface material under the Global Parameters, turn on Enable Manifold Exploration (mwStartable = 1)
  2. In the glass PxrSurface material on the cylinder, in the Glass > Advanced turn on Enable Manifold Walk (mwWalkable = 1)
  3. In the light source (only one here so this is easy, but you an set this per-light) turn on Manifold Walk (cheapCaustics = 1)
  4. In PxrUnified, enable the global Manifold Walk selection (manifoldWalk = 1)



Manifold Walk correct setup

The lights provide a location to exclude a particular subset for manifold walks. This is designed to be used when something may block the manifold walk from finding the light source. An example would be if your character has hair dangling in front of their eyes making it difficult for the walk to find the light source through the hair. You can exclude the hair to make this easier.


You can render the simple RIB file attached here. manifoldWalk.0001.rib