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 three-dimensional 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 Top-Down 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 - POV-Ray 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 | Hands-on 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 | Feature-Based 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% |