Correct self shadows
 
 
 

The Self Shadow Correction parameters let you correct self-shadowing problems that can occur with shadow casting spot lights during raycasting.

NoteTo see the Self Shadow Correction Parameters in the Light control window (which opens when you double-click a Light in the Multi-lister), you must have Type set to Spot, and Renderer Shadows turned ON.

A spot light uses a shadow map (or depth map) to calculate the shadows cast by surfaces. If a surface is illuminated by a spot light, then the shadow map begins at the illuminated surface and extends away from the light. Any surface that lies within this shadow map will be in shadow.

A problem may occur on illuminated, shadow casting surfaces. Because the shadow map has a fixed resolution, it may not be smooth enough to describe a surface. The shadow map may actually intersect the surface. This means that the illuminated surface will be partially within its own shadow. The result is a dark moire pattern on the surface.

To solve this problem you can set the Min Depth parameter to a small value. The renderer then temporarily moves the shadow casting surface toward the light, before calculating the shadow map, so the surface is no longer within its own shadow.

The problem with using Min Depth is that it may be difficult to know what is too small a value and what is too large a value. If the Min Depth value is too small, the surface will still be partially within its own shadow. If the Min Depth value is too large, other surfaces which should be in shadow may no longer be in shadow. Another problem is that the Min Depth value is in world space units, so the magnitude of the value depends on the scale of your scene. Using Min Depth can also interfere with motion blur.

Using Blend Offset is a better method of solving self-shadowing problems. Whereas Min Depth moves the entire shadow casting surface an equal amount, Blend Offset moves different surface points different amounts, based on the probability that the original point on the shadow map was correct.

Self-shadowing can be even more of a problem with motion-blurred objects. The renderer calculates motion blur by simulating the shutter and exposure time of a real camera. The motion blurred object is rendered several times between the shutter’s open and close times for each frame. The shadow map, however, is only calculated at the shutter mid-point. If the object is moving very fast away from the spot light, then it may appear to be entirely within its own shadow for part of the motion blur.