|
||||||
|
||||||
| Undergraduate Honours Projects | ||||||
|
Carleton University - School of Computer Science Undergraduate Honours Project Summer 2011 Stroke-based Real-time Non-Photorealistic Rendering Ben Ells
ABSTRACT This is a real-time 3D rendering engine geared for artistically stylized output. A scene or model is broken down to a series of brush-strokes, and textures mimicking varied artistic media (ie, pen-and-ink) are applied along the strokes, producing the desired style. "Interesting" edges, useful in delineating the form of the scene are chosen according to certain criteria. Silhouette edges, edges that lie along prominent ridges or inside creases in the model, and also edges singled out for special treatment by the artist are all considered interesting. The edges are assembled into contiguous strokes in 2D screen-coordinates. This assembly is possible because the edges of the model are stored explicitly, and each knows the vertices that make it up. Similarly, vertices store a list of all edges they are part of. This additional data makes it possible to quickly daisy-chain contiguous interesting edges together into a single stroke. These strokes are simplified to remove superfluous vertices and switchbacks. Where possible, the strokes are matched against the corresponding stroke from the last frame to produce a temporally stable render. A strip of panels is laid down along the stroke and textured in the desired style. |
||||||
|