InfoCoBuild

CS 184: Fundamentals of Computer Graphics

CS 184: Fundamentals of Computer Graphics (Fall 2012, UC Berkeley). Instructor: Professor Ravi Ramamoorthi. This course is an introduction to the foundations of 3-dimensional computer graphics. Topics covered include 2D and 3D transformations, interactive 3D graphics programming with OpenGL, shading and lighting models, geometric modeling using Bezier and B-Spline curves, computer graphics rendering including ray tracing and global illumination, signal processing for anti-aliasing and texture mapping, and animation and inverse kinematics. There will be an emphasis on both the mathematical and geometric aspects of graphics, as well as the ability to write complete 3D graphics programs.

Why do We Study 3D Graphics?


1. Course Overview
Lecture 1.1 - Motivation: Why do We Study 3D Graphics?
Lecture 1.2 - Course Outline and Logistics
Lecture 1.3 - Brief History of Computer Graphics
2. Review of Basic Math
Lecture 2.1 - Vectors and Dot Products
Lecture 2.2 - Vectors: Cross Products
Lecture 2.3 - Vectors: Orthonormal Basis Frames
Lecture 2.4 - Matrices
3. Transformations 1
Lecture 3.1 - Basic 2D Transforms
Lecture 3.2 - Composing Transforms
Lecture 3.3 - 3D Rotations
4. Transformations 2
Lecture 4.1 - Homogeneous Coordinates
Lecture 4.2 - Transforming Normals
Lecture 4.3 - Rotations Revisited and Coordinate Frames
Lecture 4.4 - Derivation of gluLookAt
5. Viewing
Lecture 5.1 - Orthographic Projection
Lecture 5.2 - Perspective Projection
Lecture 5.3 - Derivation of gluPerspective
6. OpenGL 1
Lecture 6.1 - Overview and Motivation
Lecture 6.2 - Basic Setup and Buffers, Matrix Modes
Lecture 6.3 - Window System Interaction and Callbacks
Lecture 6.4 - Drawing Basic OpenGL Primitives
Lecture 6.5 - Initializing Shaders
7. OpenGL Shading
Lecture 7.1 - Motivation
Lecture 7.2 - Gouraud and Phong Shading
Lecture 7.3 - Lighting and Shading
Lecture 7.4 - Fragment Shader Example
8. OpenGL 2
Lecture 8.1 - Basic Geometry Setup
Lecture 8.2 - Matrix Stacks and Transforms
Lecture 8.3 - Depth Testing (Z-Buffering)
Lecture 8.4 - Animation (Moving Teapot)
Lecture 8.5 - Texture Mapping
9. Raytracing 1
Lecture 9.1 - History and Basic Ray Casting
Lecture 9.2 - Core Algorithm: Shadows and Reflections
Lecture 9.3 - Ray-Surface Intersection
Lecture 9.4 - Optimizations
10. Raytracing 2
Lecture 10.1 - Camera Ray Casting
Lecture 10.2 - Ray-Object Intersections
Lecture 10.3 - Lighting Calculations and Shading
Lecture 10.4 - Recursive Ray Tracing

References
CS 184: Computer Graphics, Fall 2012
Instructor: Professor Ravi Ramamoorthi. Information. Schedule. Online Lectures. Assignments and Resources.