Carleton University - Canada’s Capital University Carleton University - Canada’s Capital University Sitemap
Contact SCS
Campus Map
Computer Science Search:
Powered by Google
News & Seminars Future Students Current Students SCS Research People Tech Support
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.