Broadly, the course is divided into four segments, corresponding to the programming assignments. Note that we will periodically assign lectures to reviewing problems and working out mathematical examples.
The first segment deals with the mathematics of transformations and viewing, telling you how to move and scale objects to place them correctly in the world. This is the basis for assignment 1. The second segment describes interactive 3D programming and shading, using the OpenGL graphics API and the GLSL shading language. This is the basis for assignment 2. The third segment describes how to use Bezier and B-spline curves to interpolate points and create shapes. This is the basis for assignment 3, and is the modeling part of the course. The fourth segment describes how to make images once you have a geometric model of the world. This is known as rendering or creating images of computer graphics models. The main topic is the basics of writing a ray tracer (assignment 4), which is an alternative to the rasterization-based approach in OpenGL.
Readings are with respect to the Marschner-Shirley text unless otherwise noted. (The text is now only recommended, not required, and the Marschner-Shirley readings are therefore optional). Note that the course (and midterms/final assignment etc.) is based entirely on the material in lecture; we will not test you on supplementary reading material not covered in lecture.
The homework will generally be due by midnight on the day following what is listed here. Thus, Homework 0 is actually due by 11:59 pm on Wednesday, Jan 16 and so on, unless a specific other date is listed (homework 4).
In general, the lecture slides will be posted as and when available to facilitate doing some reading/preparation beforehand. These may of course be changed to correct errors after the lectures. I am making the slides available as powerpoint and PDF handouts (6 slides per page). You may convert them to and print them however you wish.
We will also have online lectures available for much (but not all) of the material. Please bear in mind the usual caveats, that these online lectures are mainly for reference as a backup, and do not cover all topics (notably the curves lectures).
The slides below also include review problems on the main components of the course. These review problems are important for understanding the technical aspects and mathematics of the course. Try first doing the problems without consulting the solutions as and when the relevant material is covered. We will go over these problems in the designated review session lectures. Note that the solutions may be incomplete/outlines, and you are responsible for fully understanding the answers. A thorough understanding of the problems and solutions will help in doing well on the midterm and final assignment.
We will have visuals and demos for all of the units in the course, which we will occasionally refer to in the lectures to motivate the work. Links to some of these will also be posted here as supplementary materials, or can be found on the slides.
For the OpenGL lectures, we will make available the mytest sequence of programs shown in class for Windows and Mac/Linux. (This includes all three stages: mytest1, mytest2 and mytest3 along with DEMO settings to see the different features of mytest2). Note that homework 0 already asked you to compile the final state of the program (mytest3) for which we provided skeleton code on a variety of platforms.
Date | Topic | Due | Related Reading | Lecture Slides |
---|---|---|---|---|
Jan 8 | Overview Computer Graphics, Course | 1 | Powerpoint, PDF | |
Jan 10 | Vectors and Linear Algebra | 2,5 | Powerpoint, PDF | |
Jan 15 | Transformations 1 | Homework 0 | 6 | Powerpoint, PDF |
Jan 17 | Transformations 2 | 6,7.2-3, 3.5 RTR(handout) | Powerpoint, PDF | |
Jan 22 | Viewing | Homework 1 | 7, 3.5 RTR(handout) | Powerpoint, PDF |
Jan 24 | OpenGL 1 | 8, GL chapters 1,3 | Powerpoint, PDF | |
Jan 29 | OpenGL shading | 10, GL chapters 2,7 | Powerpoint, PDF | |
Jan 31 | OpenGL 2 | Homework 2 milestone (due Feb 4) | 17, GL chapters 2,5,7 | Powerpoint, PDF |
Feb 5 | Curves 1 | (Optional) handout 4-5.1,8.1-3 of CAGD | Powerpoint, PDF | |
Feb 7 | Curves 2 | (Optional) 15, polar forms paper | Powerpoint, PDF | |
Feb 12 | Review of curves | Problems,Powerpoint,PDF | ||
Feb 14 | Review of Transforms, OpenGL | Homework 2 | Problems, Powerpoint, PDF | |
Feb 19 | Raster Graphics, Color | 3 | Powerpoint, PDF | |
Feb 21 | Midterm (in class) | |||
Feb 26 | Ray Tracing Intro | Homework 3 | 4 | Powerpoint, PDF |
Feb 28 | Ray Tracing Nuts and Bolts 1 | Haines chapter (handout) | Powerpoint, PDF | |
Mar 5 | Ray Tracing 2 + Acceleration | Hanrahan chapter (handout)     Shirley Ch12.3,12.4(handout) | See above | |
Mar 7 | Texture Mapping | Homework 4 milestone | 11 | Powerpoint, PDF |
Mar 12 | High Quality Rendering | Written Assignment | Powerpoint, PDF | |
Mar 14 | Catch Up/No Class? | Homework 4 (due Mar 18) |