Shading in line drawings is expressed by varying the stroke width or density of strokes covering an object’s surface. In their pioneering work, Winkenbach and Salesin introduced the concept of “prioritized stroke textures ” to the emerging field of non-photorealistic rendering. 1 Despite the advances in processing power in the years since then, the sheer number of lines to draw prevents this method from running in real time. A real-time approach for hatching was presented by Lake et al, 2 which chooses from a set of textures based on the brightness at vertices, subdividing polygons if necessary. However, the method is very CPU-heavy and requires many polygons. Our new technique uses per-pixel shading graphics hardware to implement non-photorealistic shading. The texture-combining facilities accessible via OpenGL on NVIDIA GeForce and ATI Radeon cards provide the flexibility necessary to vary the line width or number of strokes per area. To indicate shading by variable-width hatching, a 3D halftone pattern is created as texture T and compared at every pixel with the target intensity I, creating black or white pixels. 3 Halftoning, however, yields unsatisfying results for interactive applications because of the computer screen’s limited resolution. To smooth the harsh transition from white to black we instead take the inverted sum of T and I and scale it by some constant c> 1. After clamping the result to the range (0…1)we get a mostly black and white output while still preserving a few gray levels (see Figure 1). Figure 1. Lighting-dependend stroke width
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.