CSE 169: Computer Animation

Winter 2006


Steve Rotenberg (steve@graphics.ucsd.edu)
Office: M/W 5-6pm, EBU3 4112


Wojciech Jarosz (cse169-ta@graphics.ucsd.edu)
Lab Hours: Tu/Th 3:30-5:30pm, EBU3 basement
Section: Friday 11am, HSS 1330


Time: Mon & Wed, 6:30 pm -- 7:50 pm
Location: SOLIS 104


Lab: EBU3 basement


The final will be on Tuesday, March 21st, 7-10pm in SOLIS 109 (not SOLIS 104!)


Required Reading

There are no required textbooks. Several papers will be required reading and will be added to this list throughout the quarter.

Optional Reading

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

Course Objective

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.

Lecture Schedule

Here is a rough outline of the course. This will be updated throughout the quarter with any changes.

Programming Projects

There will be four programming projects, due at the beginnings of week 3, 5, 7 and 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.

Project 1: Due Jan 23rd, 6 pm

- Skeleton Hierarchy: Load a .skel file and display a 3D pose-able skeleton.

Project 2: Due Feb 6th, 6 pm

- Skin: Load .skin file and attach to the skeleton from project 1.

Project 3: Due Feb 22nd, 6 pm

- Animation: Load an .anim file and play back a key-framed animation on a skinned character

Project 4: Due March 17th

Choose one of the following:

Turning in Projects

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%
Midterm:  15%
Final:  20%

Sample Code

Some basic C++/OpenGL code is provided to get you started. The example is a simple object oriented spinning cube.