CS 418 - Interactive Computer Graphics
Last offered Spring 2021
1. Rotate, translate, scale an object represented by triangle mesh, and manage hierarchies of such transformations. (1)(2)(3)(6)
2. Render an image of a meshed object with lighting, texture, reflections and perspective from an arbitrary viewpoint with hidden surfaces removed and extraneous geometry clipped. (1)(2)(6)
3. Model and render an object using parametric curves and surfaces including Hermite, Bezier, NURBS and Catmull-Clark subdivision surface presentations. (1)(2)(6)
4. Convert images between different color spaces and resolutions, and process transparency. (1)(2)(6)
5. Model complex solid objects from simple primitives, and convert them to polygonal meshes. (1)(2)(6)
6. Interpolate orientations using the unit quaternion representation, and interpolate coordinate frames to blend polygonal meshes across bending joints. (1)(2)(3)(6)
7. Procedurally model natural objects including rough terrain and plants. (1)(2)(3)(6)
Structure of Images: Image formats, compression and dithering.
Mesh Data Structures: How to represent shapes as vertices, edges and faces, using the indexed face set and the half-edge data structures.
Transformational Geometry: Scale, rotation, translation, stretch and shear of a shape.
Viewing: How to transform a scene to accommodate a specific view.
Perspective: How to distort scenes to give the illusion of depth.
Lighting: The Phong model for diffuse illumination with specular highlights.
Rasterization: How to convert mesh triangles to screen pixels.
Texture Mapping: How to put an image onto a surface, and other effects (e.g. environment mapping) it enables.
Visibility: The Z-buffer, painter's method and other hidden surface removal algorithms.
GPU Programming: How to program custom effects in the graphics hardware, including vertex and pixel shaders.
Color Theory: Different color representations including RGB, CMYK, video and CIE XYZ.
Physical Simulation Animation: How to solve ordinary differential equations to simulate realistic motion of springs and masses.
Parametric Surfaces: Hermite, Bezier and B-Spline/NURBS representations of curved surfaces.
Implicit Surfaces: How to represent shapes as zero-sets of real functions over space, and use marching cubes to convert them into meshed surfaces.
Quaternion Rotations: How to represent and interpolate rotations using quaternions.
Skinning: How to deform meshed bodies by interpolating transformations on their bones.
Shadowing: Casting shadows using shadow volumes and shadow buffers.
Assessment and Revisions
|Revisions in last 6 years||Approximately when revision was done||Reason for revision||Data or documentation available?|
|Incorporated "Blossoming Game" to teach NURBS||Three years ago||Students had trouble with motivation and understanding of how NURBS worked||In class feedback|
Required, Elective, or Selected Elective