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.
* Non Photo-realistic Rendering Applications. The inspiration for the initial version of Zahir was the software @cite_2 (RTSC). RTSC renders line drawings from 3D surfaces in a beautiful and optimal way. However, because it's a demonstration program, it's limited to static white objects (the models don't load any material or texture information). Those limitations inspired us to start working on a more flexible framework.
@cite_2
1492811546
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.