CISC 454/3.0 Computer Graphics
Original author: James Stewart
Last Revised: September 25, 2006
Introduction to computer graphics, including a review of current hardware; modelling and transformations in two and three dimensions; visual realism: perspective, hidden surface elimination, and shading; colour models; applications in several fields.
Prerequisites: CISC 235/3.0, a 1st year course in Linear Algebra, third- or fourth-year standing.
This course provides the mathematical and algorithmic background
necessary to write computer graphics applications. It covers the
linear algebra and calculus needed to manipulate and render 3D
objects. It covers the common data structures and algorithms used
for modelling, rendering, and animation. Finally,
some advanced topics are discussed to give a taste of what's currently going on in
History; raster/vector graphics; display devices; OpenGL API and
examples; linear and vector algebra review
Meshes, hierarchies, CSG; affine transformations; viewing
transformations; homogeneous coordinates; flat and smooth shading
Keyframing & linear interpolation; linear blending functions;
Catmull-Rom curves; linked structures; dynamics; scripting;
Pipeline; segment and polygon rasterization; segment and polygon
- Texture Mapping
perspective-correct interpolation; environment maps; bump maps; Mip
maps; procedural textures
- Local Illumination
Colour models; ambient, diffuse, and specular reflections; light
and material properties; shading models: Gouraud, Phong,
- Ray tracing
ray/object intersection; Barycentric coordinates; backward ray
tracing; bias in ray tracing; antialiasing; shadows; glossiness;
- Volume Rendering
ray casting; texture-based methods in hardware; transfer functions
Painter and Z-buffer algorithms; binary space partitions;
potentially visible sets
- Watt, "3D Computer Graphics", Addison Wesley, 1999.
- Angel, "OpenGL A Primer", Addison Wesley, 2004. This contains a good introduction to using OpenGL, with lots of code examples.
- Shreiner, Woo, Neider, and Davis, "OpenGL Programming Guide: The Official Guide to Learning OpenGL", Addison-Wesley Professional, 2005. This gives a detailed reference to OpenGL and is probably only useful to those who intend to do a lot of OpenGL programming beyond what is covered in the course.