CISC 454/3.0 Computer Graphics
Original author: James Stewart
Last Revised: September 25, 2006
Calendar Description
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 fourthyear standing.
Objectives
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
graphics research.
Topics
 Introduction

History; raster/vector graphics; display devices; OpenGL API and
examples; linear and vector algebra review
 Modeling

Meshes, hierarchies, CSG; affine transformations; viewing
transformations; homogeneous coordinates; flat and smooth shading
 Animation

Keyframing & linear interpolation; linear blending functions;
CatmullRom curves; linked structures; dynamics; scripting;
inverse kinematics
 Rendering

Pipeline; segment and polygon rasterization; segment and polygon
clipping
 Texture Mapping

perspectivecorrect 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,
CookTorrance; BRDFs
 Ray tracing

ray/object intersection; Barycentric coordinates; backward ray
tracing; bias in ray tracing; antialiasing; shadows; glossiness;
motion
 Volume Rendering

ray casting; texturebased methods in hardware; transfer functions
 Visibility

Painter and Zbuffer algorithms; binary space partitions;
potentially visible sets
Possible Texts
 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", AddisonWesley 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.
