# My M.Sc. Work

##
- View-Dependent Tessellation
- A-Buffer Rendering
- Local and Global Shading Algorithms
- Level-of-Detail Rendering

# M.Sc.
Thesis

###

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.

More
about paintstrokes...

M.Sc.
Thesis (PDF file)

# Publications

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

# Paintstroke-Based Images & Animations

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.

MPEG (896 K)

QuickTime (380 K)

QuickTime (2.7 MB)

JPEG (486 K) (still image)

MPEG (872 K)