Deep Shadows


Overview
Deep Shadows are a feature rich shadow map which supports transparency and volumetric data. Deep shadows can also be pre-sampled. 

Deep Shadow Benefits
Deep Shadows have the following advantages over traditional shadow maps, which make deep shadows ideal for fur, or when shadowing any collection of small semi-transparent objects. Deep Shadows allow:

  • Semi-transparent shadows
  • Colored shadows
  • Motion blurred shadows
  • Multi-sampling
  • Far fewer animation artifacts than standard shadow maps
  • Subtler better looking shadows

Deep Shadow Cons
If deep shadows have a fault, it is that they store more data than standard shadow maps and this means larger files and increased render times. Deep Shadows should be used only when their benefits are useful, and are not a replacement for traditional shadow maps in general. Note however that by pre-filtering a deep shadow map, a shadow map can be generated at a lower resolution than would be required by a traditional shadow map, which can mean that in some instances a lower resolution deep shadow map will render faster and require less disk space than an equivalent standard shadow map generated at a necessarily higher resolution.  

Deep Shadows Vs. Ray Tracing
Deep Shadow can create many effects that could be also be created via ray tracing. Creating these effects with deep shadows is generally much faster and more efficient than generating the same effect with ray tracing.

  

Deep Shadows were developed during 
the production of Monster, Inc.


The Deep Shadow Controls

Shadow Type
Switch this setting to Deep Shadows to cause the creation of deep shadow maps. No other changes are necessary. Keep in mind deep shadow store more data than normal shadow maps and will consequently take longer to render and result in larger file sizes.

Pixel Samples
The number of pixel samples in x and y for your shadow maps. When using deep shadows, you will get better results with pixel samples greater than one. This setting is useful when objects which are casting shadows are narrower than a pixel, such as fur. 

Motion Blur
Enables motion blur during shadow map calculation. Enable this when computing deep shadow maps if you want blurred shadows. (For motion blur to properly work with Deep Shadows the hider needs to specify "jitter" 1. This is enabled by default. For more info refer to PRMan Options.)

Volume Interpretation
This parameter controls the deep shadow representation. If your objects have volume over which the opacity varies continuously you should specify Continuous, examples are fur, particles, etc. If your objects are thin sheets of material you should choose Discrete. Try switching this parameter if shadows appear odd.

 


Deep Shadow Controls


Creating Deep Shadows
For information about creating deep shadows refer to: Deep Shadows- Colored Shadows.

Deep Shadow Examples

Fog with Deep Shadows
The transparency of the fog is stored in the deep shadow map.

Fog with Traditional Shadow Map
The shadow is cut off at an arbitrary opacity value. Notice the artifacts in the fog itself. This looks even worse when animated. 

A Deep Shadow Map
A shadow map of the fog above. Transparency values and the volumetric depth of all surfaces is stored in the deep shadow map.

A Traditional Shadow Map
Stores which objects are in front of all others. 

Fur with Deep Shadows
By pre-filtering the deep shadow map, each individual hair appears correctly. The Pixel Samples parameter controls how much a map is pre-filtered, which improves the fidelity of small objects, such as fur, while also increasing render times. These deep shadows look excellent when animated as well.

Fur with Traditional Shadows
The shadows of the fur here show the problem of shadowing objects which are smaller than the resolution of a traditional shadow map. Deep shadows address the issue by pre-filtering. These artifacts will pop and flicker when animated.

Motion Blurred Shadows
With Deep Shadows, motion blurred objects can now cast shadows with motion blur. The Motion Blur parameter must be enabled to cause the calculation of this additional motion blurred data. This parameter should only be enabled when motion blurred shadows are required, for efficiency. Increasing the Pixel Samples improves the quality of the blurred shadow (and increases render times).
Colored Shadows
Semi-transparent objects can cast colored shadows. Note that the opacity of the surface shader is stored in the deep shadow, not the surface color. That's right, it's the opacity color and not the surface color. Actually it's the inverse color of the opacity. You might find Slim's Invert Color node useful for this. (It allows the hue to be inverted independent of the value.) For an example see: Deep Shadows: Colored Shadows

Other Possibilities: Fake Caustics

Deep Shadows can be used to create different types of effects. One of these possibilities is fake caustics. In the image on the right the caustic effect was created using Deep Shadow maps, no ray tracing or photon maps was required. An example file is provided:  Deep Shadows: Fake Caustics


Faked Caustics with Deep Shadows


 

Pixar Animation Studios
(510) 752-3000 (voice)   (510) 752-3151 (fax)
Copyright © 1996- Pixar. All rights reserved.
RenderMan® is a registered trademark of Pixar.