skip to main content

CS 418 - Interactive Computer Graphics

Fall 2020

Interactive Computer GraphicsCS418AL136119ONL30900 - 0950 M W F    Eric Gene Shaffer
Interactive Computer GraphicsCS418AL236121ONL40900 - 0950 M W F    Eric Gene Shaffer
Interactive Computer GraphicsCSE427AL136122ONL30900 - 0950 M W F    Eric Gene Shaffer
Interactive Computer GraphicsCSE427AL236124ONL40900 - 0950 M W F    Eric Gene Shaffer

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; MATH 225 or MATH 415; MATH 241. Class Schedule Information: Students will register for a lecture and a discussion section.



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.

Last updated

2/14/2019by Eric Gene Shaffer