I included soft shadows by modelling a point light as if it spanned a rectangular surface area. Each arealight has associated with it in the xml file two vectors that determine the plane on which the light rests.
|
|
|
|
scene rendered with light modelled as a point light |
scene rendered with light modelled as an arealight with 4 samples |
scene rendered with light modelled as an arealight with 16 rays |
In the above pictures we can see the contrast between no arealight, an arealight with low sampling,
and finally an area light with high sampling. In addition to sampling the arealight at regular
intervals, in order to reduce aliasing effects from sampling that is too regular, I jitter each
shadow ray by a certain amount. This introduces noise in exactly the same way as jittered
super-sampling. This noise is acceptable to our eyes, and it serves to reduce the
banding and grainyness characteristic of low sampled arealights.