Image input and output devices such as cameras and displays, graphics hardware and software, input technologies and interactive techniques, typography and page layout, light and color representations, exposure and tone reproduction, image processing and compression, sampling, aliasing and antialiasing, two and threedimensional geometry, modeling techniques including curves and surfaces, reflection models and illumination algorithms, basic methods of animation, and information visualization.
Shirley and Marschner, Fundamentals of Computer Graphics, 3rd ed. (in a pinch 2nd ed. is ok)
Optional:
 Shreiner et al., The OpenGL Programming Guide, 6th or later ed.
 Angel, OpenGL: A Primer, 3rd ed.
 ... or any other decent OpenGL programming guide that covers shaders (GLSL)
Other books which you are encouraged to consult (get the latest edition you can find):
 Foley, van Dam, Feiner and Hughes, Computer Graphics: Principles and Practice in C
 Hearn and Baker, Computer Graphics, C Version
 Angel, Interactive Computer Graphics: A TopDown Approach with OpenGL
Day  Topic  Slides  Handouts and Reading 

Jul 19  Introduction  01_intro 
 Harmonic Fluids  The AlloSphere  The Hubble Ultra Deep Field in 3D 
Jul 22  Light and Color  02_light_color 
 Doug Kerr's excellent introduction to the CIE 1931 spaces  Shirley Ch. 20 (Light) and 21 (Color) 
Jul 26  Cameras, Displays and Compression  03_cam_disp_cmpr   Stollnitz, DeRose and Salesin, Wavelets for Computer Graphics: A Primer, Part 1 
Jul 29  Image Processing  04_imgproc 
 Shirley Ch. 3 (Raster Images) and 9 (Signal Processing)  Smith and Blinn, Blue Screen Matting, SIGGRAPH '96  An advanced review of blue/green screen matting 
Aug 2  Geometry  05_geometry 
 Shirley Ch. 2 (Miscellaneous Math, excluding 2.5 and 2.7 for now) and 6 (Transformation Matrices)  Optional: Shirley 2.7 (Triangles), Ch. 5 (Linear Algebra) 
Aug 5  Geometry (contd)  
Aug 9  Rendering 1  06_rendering1 
Readings:  Shirley Ch. 4 (Ray Tracing) and 13 (More Ray Tracing)  Introductory articles from Paul Rademacher, and HyperGraph Extra Stuff:  Stuff I wrote a long time ago (might have some errors, please let me know)  A discussion of how to compute reflected and refracted rays  POVRay homepage and Hall of Fame 
Aug 12  Rendering 1 (contd)  
Aug 16  Rendering 2  07_rendering2 
Readings:  Shirley Ch. 8 (The Graphics Pipeline) and 2.7 (Triangles)  Joe Groff's OpenGL tutorial Extra Stuff:  Any OpenGL programming guidebook that covers programmable shaders (OpenGL 2.1 or later). Look particularly at the commands we covered in class, and related ones.  The OpenGL SDK documentation. (Warning: glBegin/glEnd were deprecated in OpenGL 3.0 and removed in 3.1. We studied them in class for pedagogical reasons, but modern OpenGL uses buffer objects to draw primitives.) 
Aug 19  Rendering 2 (contd)  
Aug 23  Rendering 3  08_rendering3 
Readings:  Shirley Ch. 8 (The Graphics Pipeline) and 18 (Using Graphics Hardware)  Lighthouse 3D's GLSL tutorial  Wolfe, Teaching Texture Mapping Visually 
Aug 26  Rendering 3 (contd)  
Aug 30  Handson with Shaders  Shader Maker (Win/Mac/Linux)  
Sep 2  Curves and Surfaces  09_curv_surf  
Sep 16  Curves and Surfaces (contd)  
Sep 20  Animation and Interaction  10_anim_interact 
Shirley Ch. 7 (Animation) 
Sep 27  Animation and Interaction (contd)  
Sep 30  Programmable Graphics Hardware 
Niels Joubert's slides Extra Stuff:  Jim Clark, The Geometry Engine, 1982  Kurt Akeley, RealityEngine Graphics, 1993  NVIDIA Fermi Compute Architecture Whitepaper, 2009, Architecture Overview p.7 to p.11  NVIDIA Pascal Compute Architecture Whitepaper, 2016 (GPUs now ubiquitous for machine learning) 

Oct 4  Programmable Graphics Hardware (contd)  
Oct 8  Polygon Meshes  12_meshes  
Oct 18  Typography and Layout  Niels Joubert's slides  
Oct 21  Forward and Inverse Kinematics  13_kinematics  
Oct 25  Forward and Inverse Kinematics (contd)  
Oct 28  Largescale Rendering  14_large_render  
Nov 4  Sampling, Aliasing and Quo Vadis?  15a_sampling 15b_extra  SIGGRAPH Antialiasing Course Notes 
Assignments will be due at Midnight (23:59:59 sharp) on the scheduled date. This class has no free late days. You can submit your assignment one day late for a 50% penalty.
Assignment  Description  Due Date (IST)  Weight 

A1 (results)  Render the Mandelbrot Set  Aug 1 23:59:59  5% 
A2  FeatureBased Image Metamorphosis  Aug 18 23:59:59  10% 
A3  Raytracing 
(a) Sep 4 23:59:59 (b) Oct 2 23:59:59 
(a) 10% (b) 10% 
A4  OpenGL Game Map Loader  Nov 4 23:59:59  20% 