**I.
Transformations, Matrices and Geometric Modeling**

Clipping
and intersections
- determining what is in the viewable region, half-space tests (lecture 8)

Projection
matrices -
orthographic vs. perspective transformations, what does each transformation
mean conceptually? (lecture 8)

Affine
transformations
- 2D or 3D, translation, scale, rotate, sheer, be able to recognize affine
transformations in matrix form or equation form (lectures 5-7)

Modelview matrices - performing transformations in
turtle graphics and transformations of fixed points, be able to do both
(lecture 8)

Viewport
transformations
- transforming coordinates from modelspace to screenspace (lecture 8)

Geometric
modeling -
glut objects vs. user-modeled objects, surfaces of rotation, 3-D extrusions,
difference between modeling a surface vs. modeling a volume, triangulation, quadrilaterlization, Barycentric
coordinates, be able to sketch a scene if you are given the viewpoint and the
location of objects in world coordinates (lecture 2-4,10)

Matrix
Operations -
practice matrix multiply, matrix add and subtract (lectures 5-6)

**II.
Fractals, Subdivision, and Recursion**

Fractals - fractal dimension, know what
the more common fractals look like (i.e. Koch snowflake), know how to write and
interpret an L-system (axioms and rules) (lecture 9)

Curve
and Surface Subdivision
- Four-Point, Doo-Sabin, Catmull-Clark, Loop, be able
to perform each if the rules are given, know what happens to curves and
surfaces when subdivision schemes are repeatedly applied (lectures 10-12)

**III.
Lighting Models and Ray Tracing**

Color
models -
RGB, CMY, YIQ, know the basic differences between each (lecture 13)

Polygon
Shading - Gouraud shading vs. Phong
shading, know how to perform both (lectures 14-15)

Lighting
Models -
ambient, Lambertian
(diffuse), Phong (specular), know how to perform all
three (lecturs 14-15)

Ray
tracing -
how is it different from z-buffer? what effects
are easier to implement in a ray tracer? know about
all the steps in a simple ray tracer (i.e. Project 4), such as how to generate
the initial rays that originate from the eye, how to calculatate
sphere / ray intersection, and how to calculate plane / ray intersection, how
to generate reflection and refraction rays, and the differences between point
lights and directional lights (lecture 16)

Vector
Operations -
practice add, subtract, dot product, cross product, scalar product, find
length, find direction, normalization

**IV.
Miscellaneous Topics**

Radiosity - what is the goal of radiosity?
what are form factors? be
able to do simple form factor algebra problems (see Illumination V lecture)
(lecture 17)

Texture
mapping -
how is texture mapping performed? how is bump mapping
related to texture mapping? be able to map
simple textures using OpenGL calls (lectures 18-19, 22)

Visibility
algorithms -
back-face culling, painter's algorithm, z-buffer, advantages and disadvantages
of BSP trees over z-buffer (lecture 20, 23-24)

Anti-aliasing - why is it needed? in general, what algorithms are used to address the problem?
(lecture 21)

**V. Other
Course Material**

Projects - look over any questions or
concepts you did not understand and compare with the posted solutions

Midterms - look over any questions or
concepts you did not understand and compare with the posted solutions