Abstract:
Shadows are crucial for the human perception of the 3D world. Hard shadows are produced
when a typical 011 definition of shadows is applied: if the light source can be seen from a
pixel, it is lit; otherwise, it is in shadow. However, in nature, most light sources have a
measurable size and hence they can be partially occluded. This fuzzy definition of shadows
introduces a new genre of shadow generation problem: soft shadow generation. Soft shadows
are obviously very important for realistic image rendering. But true soft shadow calculation is
a computation intensive problem which requires considering complicated receiver-occluderlight
source relation in three dimensions. So, to give real time graphics a realistic touch, we
must come up with approximation algorithms that produce almost physically correct shadow.
Of the main two trends of shadow algorithms, shadow map approach suffers from sampling
artifacts due to image space computation. Hence, to produce convincing shadows in real time,
a shadow volume algorithm is needed that can generate soft shadows. We have developed an
algorithm, under the shadow volume theme, to compute soft shadows for triangulated simple
three dimensional objects. We have introduced a double silhouette concept; we are
considering two silhouettes - umbra silhouette, responsible for the outline of the umbra
region; and the penumbra silhouette, responsible for the outline of the penumbra region of the
generated soft shadow. Our algorithm basically interpolates between these two extremes of
the penumbra region. We have devised a way to break up the occluders into silhouette rings,
and compute shadow contributions at any pixel based on only these structures. Our goal was
to produce smooth shadow, so we devised an interestingly innovative way of combining
contributions from overlapping projections of silhouette edges: 'edge shadows'. We have
compared the quality of the shadow generated from our algorithm with that of a few well
known recent algorithms. Our algorithm does not suffer from the artifacts previous
. algorithms had. On top of that, since we compute shadows only depending on the silhouette
edges, special cases like the idea of overlapping shadow and self shadow degenerated into the
common case of generating soft shadow from silhouette edges.