|  | IntroductionPrerequisiteCourse StaffResourcesCourse Schedule |  | 
Principal Instructor: KangKang Yin
Teaching Assistants: Sai Raj Kishore Perla; Xiang Xu; Baiyu Li
" Interactive Computer Graphics: A Top-Down Approach with Web GL, 7th Edition", by Edward Angel and Dave Shreiner.
Reference books: OpenGL Programming Guide: The Official Guide to Learning OpenGL; Computer Graphics: Principles and Practice
The OpenGL Programmer's
Guide (the Redbook) 8th Edition;
OpenGL ES 3.0 Programming Guide;
WebGL Programming Guide;
WebGL Beginner's Guide;
WebGL: Up and Running;
JavaScript: The Definitive Guide
| Week | Tuesday (10:30-12:20) BLU9660 | Friday (10:30-11:20) AQ3149 | 
| 1 | May
9 Introduction (Chapter 1.1); Image Formation (Chapters 1.2-1.5) | May 12
(Instructor Travelling) HTML and JavaScript Tutorial | 
| 2 | May
16 Graphics Pipeline (Chapters 1.6-1.10) | May
19 Hello Triangle (Chapters 2.1-2.3) Common triangle.html triangle.js triangle2.html triangle2.js vshader.glsl fshader.glsl | 
| 3 | May
23 GLSL (Chapters 2.4-2.6) Graphics Programming (Chapters 2.7-2.10, A.1-A.2); | May
26 Interaction and Animation (Chapters 3.1-3.9) Programming Assignment 1 Release | 
| 4 | May
30 (Instructor Travelling) WebGL and GLSL Tutorial; Graphics Programming Tutorial | Jun
2 (Instructor Travelling) No class, watch Pat Hanrahan's talk on Shading Languages and the Emergence of Programmable Graphics Systems | 
| 5 | Jun
6 Geometric Objects (Chapters 4.1-4.2, B.1-B.4) | Jun
9 Coordinate Systems (Chapaters 4.3,4.7) | 
| 6 | Jun
13 Transformations (Chapters 4.9-4.11) | Jun
16 Modeling (Chapters 4.6,4.12-4.13) | 
| 7 | Jun
20 Viewing (Chapters 5.1-5.3) | Jun
23 Projection Matrices (Chapters 5.4-5.8) Writing Assignment Release | 
| 8 | Jun
27 Lighting and Shading (Chapters 6.1-6.4,6.7) | Jun
30 Polygonal Shading (Chapters 6.5,6.8,6.10) | 
| 9 | Jul
4 Discrete Techniques (Chapters 7.1-7.2); Texture Mapping (Chapters 7.3-7.6) | Jul
7 Texture Mapping (Chapters 7.3-7.6) Programming Assignment 2 Release | 
| 10 | Jul
11 More Mapping Methods (Chapters 7.7-7.9) | Jul
14 Render to Texture (Chapters 7.12-7.14) | 
| 11 | Jul
18 Render to Texture (Chapters 7.12-7.14); Shadows (Chapters 5.9-5.11) | Jul
21 Blending and Antialiasing (Chapters 7.10, 8.12) | 
| 12 | Jul
25 Hierarchical Modeling (Chapters 9.1-9.6); Scene Graphs (Chapters 9.7-9.9) Programming Assignment 3 Release | Jul
28 Clipping (Chapters 8.1-8.7) | 
| 13 | Aug
1 Rasterization and Hidden Surface Removal (Chapters 8.8-8.11,9.10); Ray Tracing (Chapters 12.1-12.4) | Aug
4 (last class) Review and Discussion (Chapter 8.2) | 
| 14 onwards | Final Exam: August 14, 15:30-17:30, AQ3005 | |