CS 372

Interactive Computer Graphics

Course Policies - Projects


Overview

This class is covers 2-D and 3-D interactive computer graphics, emphasizing concepts and programming. We will use HTML Canvas for 2-D graphics programming and WebGL for 3-D graphics programming. Interactive graphics topics will include a brief overview of rasterization algorithms, interactive graphics programming techniques, transformations for 3-D graphics, lighting and shading, hidden surface removal, and an overview of graphics hardware. To that we will add some coverage ray tracing, radiosity, modeling, and animation.

The course will be organized around the projects, giving you what you need to know in time to accomplish each of the projects. Most of the projects will be developed with Javascript, WebGL, and Three.js. The last project will be a game developed by a team.

Outcomes:

Students successfully comleting this course will demonstrate the ability to

DATESTOPICProject
Week 1

Ch. 1: Graphics systems and models
Graphics systems, ray-tracing, radiosity

Ray-traced image
Week 2

Ch. 2: Graphics Programming
JavaScript, Canvas, WebGL

2D Self portrait
Week 3

Ch. 3: Interaction and animation
Interactive graphics

Hello Three.js
Week 4

Ch. 4: Geometric objects and transformations
Points, vectors, matrices, transformations

Ch. 5: Viewing
Parallel and perspective viewing transformations

Frogger graybox
Week 5

Ch. 6: Lighting and Shading
Lighting, Phong and Gouraud shading

Surfacing
Week 6

Ch. 7: Discrete techniques
Buffers; texture, bump, and reflection mapping; hidden surface removal

Ch. 8: From geometry to pixels
Rasterization, rendering

Game
Week 7

Ch. 9: Modeling and animation
Modeling, hierarchy, animation; game show

Showcase of final projects