IntroductionPrerequisiteCourse StaffResourcesCourse Schedule |
Principal Instructor: KangKang Yin
Guest Instructor:
Teaching Assistant: Mahdi Davoodikakhki
<mahdi_davoodikakhki@sfu.ca>; Zeshi Yang <zeshi_yang@sfu.ca>
Recommended Textbook: " 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 | Monday | Wednesday | Friday |
1 |
May 6 Introduction (Chapter 1.1) |
May 8 Image Formation (Chapters 1.2-1.5) |
May 10 Image Formation (Chapters 1.2-1.5) |
2 | May 13 Graphics Pipeline (Chapters 1.6-1.10) |
May 15 Hello Triangle (Chapters 2.1-2.3) Common triangle.html triangle.js triangle2.html triangle2.js vshader.glsl fshader.glsl |
May 17 GLSL (Chapters 2.4-2.6) GLSL Functions |
3 | May 20 Victoria Day, no class |
May 22 Class Cancelled |
May 24 Graphics Programming (Chapters 2.7-2.10, A.1-A.2) WebGL 2.0 and GLSL ES 3.0 API Quick Reference WebGL 2.0 Specification |
4 | May 27 Interaction and Animation (Chapters 3.1-3.6) Programming Assignment 1 Release |
May 29 Interaction and Animation (Chapters 3.7-3.11) |
May31 Programming Tutorial triangleMany.html triangleMany.js |
5 | Jun 3 Geometric Objects (Chapters 4.1-4.2, B.1-B.4) |
Jun 5 Coordinate Systems (Chapaters 4.3,4.7) |
Jun 7 Transformations (Chapters 4.9-4.11) |
6 | Jun 10 Transformations (Chapters 4.9-4.11) |
Jun 12 Transformations (Chapters 4.9-4.11) Programming Assignment 1 Due |
Jun 14 Modeling (Chapters 4.6,4.12-4.13) |
7 | Jun 17 Viewing (Chapters 5.1-5.3) |
Jun 19 Projection Matrices (Chapters 5.4-5.8) Written Assignment Release |
Jun 21 Projection Matrices (Chapters 5.4-5.8) |
8 | Jun 24 Projections and Shadows (Chapters 5.9-5.11) |
Jun 26 Lighting and Shading (Chapters 6.1-6.4,6.7) Programming Assignment 2 Release |
Jun 28 Lighting and Shading (Chapters 6.1-6.4,6.7) |
9 | Jul 1 Canada Day, no class |
Jul 3 Polygonal Shading (Chapters 6.5,6.8,6.10) Written Assignment Due |
Jul 5 Programming Assignment I Review; Programming Assignment II Tutorial |
10 | Jul 8 Discrete Techniques (Chapters 7.1-7.2) |
Jul 10 Texture Mapping (Chapters 7.3-7.6) |
Jul 12 Environment&Bump Mapping (Chapters 7.7-7.9) |
11 | Jul 15 Framebuffer Objects (Chapters 7.12-7.14) |
Jul 17 Blending and Antialiasing (Chapters 7.10, 8.12) Programming Assignment 2 Due |
Jul 19 Hierarchical Modeling (Chapters 9.1-9.6) Programming Assignment 3 Release |
12 | Jul 22 Scene Graphs (Chapters 9.7-9.9) |
Jul 24 Clipping (Chapters 8.1-8.7) |
Jul 26 Rasterization and Hidden Surface Removal (Chapters 8.8-8.11,9.10) |
13 | Jul 29 Ray Tracing (Chapters 12.1-12.4) |
Jul 31 Assignments Review |
Aug 2 Review and Discussion (Chapter 8.2) Programming Assignment 3 Due |
14 | Aug 5 BC Day, no class |
Aug 7 Exam: 1:00-3:00pm WMC3520 |