In this article we present Zahir, a framework for experimentation in Computer Graphics that provides a group of object-oriented base components that take care of common tasks in rendering techniques and algorithms, specially those of Non Photo-realistic Rendering (NPR). These components allow developers to implement rendering techniques and algorithms over static and animated meshes. Currently, Zahir is being used in a Master's Thesis and as support material in the undergraduate Computer Graphics course in University of Chile.
@cite_3: This paper introduces a programmable approach to non-photorealistic line drawing from 3D models, inspired by programmable shaders in traditional rendering. We propose a new image creation model where all operations are controlled through user-defined procedures. A view map describing all relevant support lines in the drawing and their topological arrangement is first created from the 3D model; a number of style modules operate on this map, by procedurally selecting, chaining or splitting lines, before creating strokes and assigning drawing attributes. The resulting drawing system permits flexible control of all elements of drawing style: first, different style modules can be applied to different types of lines in a view; second, the topology and geometry of strokes are entirely controlled from the programmable modules; and third, stroke attributes are assigned procedurally and can be correlated at will with various scene or view properties. Finally, we propose new density control strategies where strokes can be adapted or omitted to avoid visual clutter. We illustrate the components of our system and show how style modules successfully capture stylized visual characteristics that can be applied across a wide range of models.
Another similar tool is @cite_3 . FreeStyle is a stylized line-renderer for 3D models. It's different from RTSC, because while RTSC extracts contours as iso-curves from surfaces, FreeStyle extracts silhouette and crease edges. The extracted edges are connected and stylized using procedures defined by the user. This software produces pretty pictures and is very customizable, but is not suited for interactive applications. On the other hand, it's very flexible and it can be used by artists because the styling can be written in the Python programming language.