Submitted by , posted on 21 February 2005
Image Description, by
Several objects rendered using the method from Hardware Determined Edge Features by Morgan McGuire and John F. Hughes,
presented at NPAR 2004.
Using a new data structure, we can find edge features-- silhouettes, contour
edges, creases, ridges, and boundaries-- entirely on the GPU, and then draw
them with brush stroke textures. The textures are reasonably coherent even
under animation, creating the appearance of continuous strokes. The method can
be extended to shadows, suggestive contours, and matrix-skinned models so that
all rendering tasks are offloaded from the CPU.
The large NPR charcoal teapot and smaller figures were all rendered using
variations on the same shader and zero CPU cycles. For the teapot, the shader
finds the silhouette edges and strokes them in a charcoal style with thick
lines. Creases and other features are detected and stroked with thin lines.
The small mechanical part (left) has hidden contours detected and rendered as
dashed lines. The realistic furry bunny (2nd from left) is rendered with
Lengyel's Shell & Fin method. Fins are placed at contour edges by the shader
and shells are also extruded on the GPU. For the torus knot, the shadow volume
contours are detected on the GPU and extruded. The cartoon bunny has internal
ridges rendered with one style and external contours rendered with another. As
in other cases, all edge features are detected on the GPU.