Course Websites

CS 418 - Interactive Computer Graphics

Last offered Fall 2023

Official Description

Basic mathematical tools and computational techniques for modeling, rendering, and animating 3-D scenes. Course Information: Same as CSE 427. 3 undergraduate hours. 3 or 4 graduate hours. Prerequisite: CS 225; One of MATH 225, MATH 257, MATH 415, MATH 416, ASRM 406, or BIOE 210; MATH 241.

Related Faculty

Text(s)

Varies

Learning Goals

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)

Topic List

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

Selected Elective.

TitleSectionCRNTypeHoursTimesDaysLocationInstructor
Interactive Computer GraphicsAL136119ONL3 -    Luther Tychonievich
Interactive Computer GraphicsAL236121ONL3 -    Luther Tychonievich
Interactive Computer GraphicsDSO67033ONL4 -    Luther Tychonievich