TAPESTRY: The Art of Representation and Abstraction


What's it all about?

Students usually learn to draw shadows at the same time they are learning to shade objects due to their degree of solar exposure. Book chapters are often titled "Shade and shadow". All of this leads to an important point:

In digital rendering, there is NO connection between shading and shadows.

Complexity: n vs. n-squared

Shading calculations are only concerned with the relationship between the light source, the surface, and the viewer. They can be done separately for each polygon. Because each polygon is treated in isolation, if you double the number of polygons in the model, you double the time which will be spent on shading. So, shading calculation time is proportional to the total number of polygons (n).

Shadows, on the other hand, are concerned with what's between the surface being rendered and the light source. ALL the rest of the geometry is "suspect". This means that if you double the number of polygons, you double the amount of work that has to be done for EACH polygon as well, radically increasing (quadrupling) the total amount of work that has to be done. That is, in the worst case, shadow calculations are proportional to n-squared (where n is the number of polygons).

Note, also, that "the shadow question" has to be asked for each light source, so increasing the number of light sources should lengthen the time spent calculating shadows. Further, because shadows obviously can have edges which cut across the polygons on which the shadow is cast, a shadowed polygon won't have a uniform shade!

For these reasons, and others, you will find that some simpler programs may do shading but not shadows.

In those programs which do cast shadows, there are often "special controls" for minimizing the complexity of the shadow problem. There may be surface attributes which allow you to control whether polygons cast or recieve shadows. There may also be a shadow-casting attribute for light sources. These attributes serve to speed up the calculation process by eliminating unnessary calculations from the rendering. After all, the ground plane doesn't generally cast any interesting shadows!

Last updated: April, 2014

Valid HTML 4.01 Transitional Valid CSS! [report bug]