A variety of objects modelled in computer graphics can be efficiently approximated with generalized cylinders, particularly when they are viewed at a relatively small scale. We define a generalized cylinder as the surface produced by extruding a circle along a path through space, allowing the circle's radius to vary along the path. During the extrusion, the circle's orientation is such that the plane it spans is always orthogonal to the path. In simpler terms, this is a tube of circular cross-section and variable thickness. Some examples appear in the background pattern of this page (and others).
In this thesis we present a unique way of rendering generalized cylinders using polygon-based projective rendering: a rendering meta-primitive called the paintstroke. Paintstrokes allow for the concise modelling and efficient dynamic tessellation of generalized cylinders, making direct use of their screen-space projections so as to minimize the number of polygons required to construct their images. The resulting savings in vertex transformations, rasterization overhead, and edge antialiasing more than repay the cost of the tessellation. Used in conjunction with our A-Buffer polygon renderer, paintstrokes achieve a good balance of speed and image quality when drawn at small to medium scales, generally surpassing other methods for rendering generalized cylinders.
M.Sc. Thesis (PDF file)
These are all PDF files, readable with Adobe Acrobat.
Rendering
Generalized Cylinders with Paintstrokes
Graphics Interface '98, June 1998 (co-authored
with Michiel van de
Panne)
Rendering Generalized Cylinders using the
A-Buffer
My M.Sc. Thesis, Oct. 1997
Rendering with Paintstrokes
SIGGRAPH '97 Technical Sketch, Aug. 1997
These animations feature generalized cylinders (hairs, tubing, water stream, branches), which were rendered as paintstrokes using my software implementation of the algorithm described above. The model of the furry dog, conisting of about 12,000 paintstrokes, was generated by my colleague, Nick Torkos.
JPEG (486 K) (still image)