COURSE GOALS: Comfort and ease creating visually accurate interactive non-polygonal objects such as smoke, fire, cloth, sand, ropes, with multi-bounce computed light transport.


  • EECS 311: Data Structures
  • EECS 351 Introductory Graphics or equivalent (ask—you may already know enough!)

DETAILED COURSE TOPICS:  The course has just two topics, but they are very broad: A. Particles and Movement: 1) Abandon all polygons to make 'shapeless' shapes (fireworks, swarms of bees, rain, snow, grass, etc.) from clouds of particles. How close can we get to modeling each particle in a cloud of steam? 2) Moving particles coupled together can simulate many interesting materials (rope, water, smoke, cloth, etc.). We'll explore both 'explicit' and 'implicit' solvers that make soft things move and behave realistically. B. Light Done Right: we'll learn ray tracing, BRDFs and light units, extended light sources (soft shadows), and some basic global illumination ideas. You will make pictures that look much more like photographs than OpenGL, with shadows, chrome reflections, transparency, and complex surfaces.

GRADES: 4 ‘reading’ quizzes, 2 progressively-graded projects with written project reports. No midterm exam, no final exam.

COMPUTER USAGE: Yes, required; openGL, freeGLUT, GLEW, GLM, etc

Required: “Game Physics-Engine Development” 2nd Ed.(2010), Ian Millington, CRC Press (Yes, Finally! A GOOD book we can count on!)
--OpenGL SuperBible, 5th Edition, by Richard S. Wright et al., (c)2011 Addison-Wesley, 988 pp.
--OpenGL Reference Manual, (“Blue Book”), OpenGL Programming Guide (“Red Book”); free
online 1st edition: or …/red_book_1.0; website; full of goodies!

SIGGRAPH/Pixar Short Course Notes “Particle Dynamics” by Witkin, Baraff.
“Fluid Simulation for Computer Graphics” by Robert Bridson (c)2008 AK Peters.
“Game Physics Pearls” Gino van den Bergen, Dirk Gregorius (Eds.) (c)2010 AK Peters.
HOMEWORK ASSIGNMENTS: ungraded ‘practice’ problem sets and exercises; readings.

LABORATORY PROJECTS: CS352 is a project-oriented course: lectures and reading are important, but for a deep and genuine understanding of computer graphics methods you really need to write some code and make some pictures of your own. Step-by-step, week-by-week, you will build two large programming projects that make astonishing pictures.

MY NEW SYLLABUS PROMISE: In response to the recent Searle Small Group analysis of EECS 351-1 on 2/19/2013, I promise to have a complete syllabus with all topics, reading assignments, page numbers and dates for every class event ready for you on the first day of class. (I had not realized how important that is to so many students…)

(Beginning 2013, we teach Intermediate Graphics EVERY year instead of alternate years). 

more news