|
Comp 236 is UNC's graduate-level introductory computer graphics
course. It covers standard material such as matrix transforms, scan
conversion, hidden surface removal, lighting and shading, curves and
surfaces, and ray tracing. Class assignments appear below. Click the
links for more information.
|
|

|
Reading Assignment: Comparison of Hidden Surface Methods
Read "A Characterization of Ten Hidden-Surface Algorithms"
by Sutherland, Sproull, and Shumacker. Choose two methods and describe
how each works. Compare and contrast your methods with each other and
with the Z-buffer algorithm. The two methods must be from different
categories (i.e. image space, object space, or list priority).
|
|

|
Programming Assignment 1: "One True Way" Projection of a 3D Box
Create a virtual 35mm camera and "take pictures" of a point representation
of a 3D box. Map the box onto the image plane using the "one true way."
Antialias the images of the points. Make a short movie, animated GIF, or sequence
of still pictures showing your camera viewing the points from a gradually
changing position.
|
|

|
Programming Assignment 2: Scan Conversion of Triangles
Implement a triangle scan conversion routine and Z-buffer hidden surface
algorithm. Your method should take a vector of three double-precision XY
coordinates for the vertices in screen coordinates. Each vertex should
also have an associated 1/Z value in double precision and a color value
expressed as three bytes giving red, green, and blue values. Linearly interpolate
1/Z, R, G, and B across the triangle.
|
|

|
Programming Assignment 3: Bicubic Bezier Surfaces
Write a program to display the famous Utah teapot as a set of parametric
curves. The teapot is defined as 32 Bezier patches. Make the number of curves
in s and t an adjustable parameter of your program. The curves you
display should appear smooth (that is not piecewise linear). At each intersection
point where the s and t curves intersect, draw a short line indicating the direction
of the outward pointing surface normal at that point.
|
|

|
Programming Assignment 4: Ray Tracing
Write a ray tracing system that will render images of clusters of spheres.
Synthesize a model (volume = one cubic meter) with 100 spheres of varying size,
color, and surface shading properties. Light the scene with at least five point
light sources at different places outside the volume. Trace shadow rays to the
lights so that shadows are rendered properly.
|
|

|
Final Project: Simulating Depth of Field with a Blur Buffer
For the final project, I designed and implemented a prototype algorithm that
simulates depth of field effects. The intent was to develop a method that could
produce these effects in real time on commodity graphics hardware. The current
software prototype runs in "near real time" and produces good
results. Future work will focus on achieving real time performance by
implementing the algorithm on graphics hardware.
|