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, 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.
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.
Some basic C++/OpenGL code is provided to get you started. The example is a simple object oriented spinning cube.