Steve Rotenberg (email@example.com)
Office: Tuesday & Thursday, 5:00 pm – 6:00 pm, (AP&M 2337)
Nick Gebbie (firstname.lastname@example.org)
Lab Hours: Monday & Tuesday, 2:00 pm – 6:00 pm (AP&M 2444)
Section: Wednesday, 11:00 am – 12:20 pm (WLH 2204)
Cameron Chrisman (email@example.com)
Lab Hours: Tuesday & Thursday, 12:00 pm – 2:30 pm (AP&M 2444)
Time: Tues & Thurs, 6:30 pm – 7:50 pm
Location: Warren Lecture Hall 2204
Lab: AP&M 2444
The final will be Friday, March 18, 7:00pm-10:00pm in WLH 2204
Pose Space Deformation (download the .pdf version at the upper right)
There are no required textbooks. Several papers will be required reading and will be added to this list throughout the quarter.
For an introduction to both computer graphics and OpenGL, I suggest:
“3D Computer Graphics: A Mathematical Introduction with OpenGL”, S. Buss
For a non-mathematical introduction to OpenGL:
“OpenGL Programming Guide”, Woo
For a good book on C++ software architecture:
“Large Scale C++ Software Design”, Lakos
An older computer graphics book, but one of very few that talks about animation:
“Advanced Animation and Rendering Techniques”, Watt & Watt
This advanced graphics class focuses on the programming techniques involved in computer animation. Algorithms and approaches for both character animation and physically based animation will be covered. Particular subjects may include skeletons, skinning, keyframing, facial animation, inverse kinematics, locomotion, motion capture, video game animation, particle systems, rigid bodies, clothing, hair, and other techniques. A good understanding of linear algebra and computer graphics is essential and CSE167 or approval from the instructor is required.
Here is a rough outline of the course. This will be updated throughout the quarter with any changes.
There will be four programming projects, due at the beginnings of week 3, 5, 7and 10.
Some (very) basic C++/OpenGL graphics code will be provided to get some of the simple stuff out of the way, but students are allowed to use a different graphics API and/or object oriented programming language if they prefer.
- Skeleton Hierarchy: Load a .skel file and display a 3D pose-able skeleton.
- Skin: Load .skin file and attach to the skeleton from project 1.
- Animation: Load an .anim file and play back a key-framed animation on a skinned character
Choose one of the following:
- Cloth: Implement a cloth simulation
- Fancy Particle System: Implement a particle system with collision detection and some fancy forces
- Inverse Kinematics: Implement Jacobian IK algorithm on a chain of bones in the skeleton
- Locomotion: Implement multi-legged locomotion using the simple analytical IK scheme
- Rigid Bodies: Implement a simple rigid body system with collisions
- Choose your own project (please discuss it with me first!)
Projects must be shown to the professor or the TA’s either on one of the lab computers or on a student laptop.
This class is for 4 units and grading will be based on programming projects plus a midterm and a final.
Project 1: 15%
Project 2: 15%
Project 3: 15%
Project 4: 20%
Some basic C++/OpenGL code is provided to get you started. The example is a simple object oriented spinning cube.