Non-photorealistic rendering is a widely used technique, or group of techniques, which deliberately takes a few steps back from realistic images, either because a specific style is more practical, or for its artistic value.
There are a number of already existing approaches and implementations for achieving such styles. A reoccuring problem is silhouette and crease outlining, which is usually combined with a color- and lighting-filtering approach. An algorithm exists for finding creases and silhoutte edges in image-space, but it has many inherent problems with animation and low resolution. This document proposes an alternative to this approach by utilizing adjacency and topological information, which is generated for meshes in a preprocessing stage of the program.
A connection exists between shadow volume based shadows and silhouette outlining. The adjacency information generated for crease and silhoutte identification can be used to optimize shadow volume generation by extruding only the silhouettes of a mesh. Combining crease and silhouette edge outlining with shadow volume based shadowing gives us the ability to achieve interactive framerates with high quality shadows and a non-photorealistic style.