CMPT 361-3 D200: Introduction to Computer Graphics
Instructor: Dr. Herbert H. Tsang, P.Eng., Ph.D.
Lecture: MW, 11:30 – 12:50, SUR 3010
Office hour: Monday 13:00-14:00, Room 4072 [or the lab next door] or by appointment
1. Course Objectives/Description
Computer graphics provides the tools to model 2D, 3D, or higher dimensional data and processes, to generate photorealistic (or at least believable) or artistic rendering of the models, to interact with them through graphical user interfaces, and to create visualizations and animations for communication, education and entertainment. This course offers an introduction to the modeling and rendering aspects of computer graphics. The mathematical concepts and techniques behind the development of various computer graphics algorithms will be covered. You will also learn to implement some of these algorithms through programming assignments using OpenGL.
- basic raster graphics algorithms for drawing 2D primitives
- 2D and 3D geometrical transformations, 3D projections/viewing
- hidden-surface removal and visibility
- basic rendering techniques (color, illumination and shading, global illumination, ray tracing, texture mapping) curves and surfaces; polygonal meshes and subdivision
- antialiasing; sampling and reconstruction
The above material will be covered through lectures, reading, discussions, homework assignments, and a course project.
Assignments are due at the start of class. Late assignments will not be accepted without valid documentation (e.g., medical certificate). Students must attain a C or better on the weighted average of exams in order to obtain a C or better grade for the course as a whole.
- Assignments ……………45%
- Midterm ……………….25%
- Final …………………..30%
Late Penalties: Assignments are due at the beginning of the specified class time. For each day late, 10% of the total possible points will be deducted. No work will be accepted after two days late.
3. Class Schedule, Readings, and Assignments
|1||Sept 5-7||Labour Day||Administration & background|
|2||Sept 10-14||Introduction [Chapter 1]||Graphics Programming [Chapter 2]|
|3||Sept 17-21||Graphics Programming [Chapter 2] + Input and Interaction [Chapter 3]||Input and Interaction [Chapter 3] + Geometric Objects and Transformations [Chapter 4]|
|4||Sept 24-28||Geometric Objects and Transformations [Chapter 4] + Dr. John Dill's notes: "Transform as change of coordinate system" + "Transform 2D" + "Transform 3D"||Geometric Objects and Transformations [Chapter 4] + Viewing [Chapter 5]|
|5||Oct 1-5||Viewing [Chapter 5]||Viewing [Chapter 5]|
|6||Oct 8-12||Thanksgiving||Color + Shading [Chapter 6] + [F] Chapter 16|
|7||Oct 15-19||Shading [Chapter 6] + [F] Chapter 16||From Vertices to Fragments [Chapter 7]|
|8||Oct 22-26||From Vertices to Fragments [Chapter 7]||Mid-term|
|9||Oct 29 - Nov 2||From Vertices to Fragments [Chapter 7]||Guest lecture from Prof. Steve DiPaola|
|10||Nov 5-9||Sampling and Antialiasing [F] Chapter 14.10||Sampling and Antialiasing [F] Chapter 14.10|
|11||Nov 12-16||Remembrance Day||Guest lecture from Andrew Park (PhD candidate from the School of Interactive Arts and Technology)|
|12||Nov 19-23||Discrete techniques and Texture Mapping [Chapter 8]||Discrete techniques and Texture Mapping [Chapter 8]|
|13||Nov 26-30||Discrete techniques and Texture Mapping [Chapter 8] + Extra topics||Extra topics + Revision|
|14||Dec 3||Revision and Extra help||N/A|
|15||Final||Final: Friday December 14, 2007 15:30-18:30 SUR 5320||N/A|
Assignments x 5
Midterm (~ Week 8)
Final (~Week 14-15)
4. Course Text and References
- Edward Angel, Interactive Computer Graphics: a Top-Down Approach with Open GL, 4th Edition, Addison Wesley, 2006 [required]
- James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes, Computer Graphics: Principles and Practice, 2nd edition, Addison-Wesley 1995. [required]
- F. S. Hill, Jr., Computer Graphics using Open GL, 2001 [reference]
- OpenGL Programming Guide: The Official Guide to Learning OpenGL, 3rd Edition, Addison Wesley [reference]
5. Useful links
- Vector Math for 3D Computer Graphics - An Interactive Tutorial - link
- OpenGL: Examples: Redbook - link
- Sierpinski triangle - link
- Information visualization software - link
Academic Honesty plays a key role in our efforts to maintain a high standard of academic excellence and integrity. Students are advised that ALL acts of intellectual dishonesty are subject to disciplinary action by the School; serious infractions are dealt with in accordance with the Code of Academic Honesty (T10.02) (http://www.sfu.ca/policies/teaching/t10-02.htm). Students are encouraged to read the School's policy information (http://www.cs.sfu.ca/undergrad/Policies/).
- Prerequisites: CMPT 201 or 225 and MATH 232. A minimum grade of C is required in all prerequisite courses. Students with credit for CMPT 351 may not take CMPT 361 for further credit.
Copyright © 2009, Herbert H. Tsang