Soft Shadows

Point Light sources give rise to hard shadows whereas area light sources can give rise to more complex shadows.  Shadows casted by area light sources have two components:

  1. Umbra: This is the dark portion of the shadow. They are casted where the light source is completely blocked by the occluding body.
  2. Penumbra: This is the lighter portion of the shadow. They are casted where the light source is only partially blocked by the occluding body.

In ray tracing, a single shadow ray is traced recursively at every point of intersection and hence produces hard shadows. To simulate shadow effects of area lights more realistically, stochastic tracing is used where multiple rays are cast to different points in the area light source and their effects are averaged.

We used the following algorithm to simulate soft shadows:

  1. Uniformly sample a given number of points in the area light source.
  2. Treat each of them as separate point light sources and compute shadow attenuation based on whether an occluding body lies in direction from the point in consideration to the point in the light source.
  3. Average out the shadow attenuations to compute the final shadow value.

This way, points that are more exposed to light source area have softer shadow regions as opposed to points that are less exposed.