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 Bézier 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. Also note that lecture slide links may not always work prior to the 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 12 and so on, unless a specific
other date is listed (homework 4). **

Slides for all lectures are posted here to facilitate doing some reading/preparation beforehand and working ahead of the course. 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 4 | Overview Computer Graphics, Course | 1 | Powerpoint, PDF | |

Jan 6 | Vectors and Linear Algebra | 2,5 | Powerpoint, PDF | |

Jan 11 | Transformations 1 | Homework 0 | 6 | Powerpoint, PDF |

Jan 13 | Transformations 2 | 6,7.2-3, 3.5 RTR(handout) | Powerpoint, PDF | |

Jan 18 | Viewing | Homework 1 | 7, 3.5 RTR(handout) | Powerpoint, PDF |

Jan 20 | OpenGL 1 | 8, GL chapters 1,3 | Powerpoint, PDF | |

Jan 25 | OpenGL shading | 10, GL chapters 2,7 | Powerpoint, PDF | |

Jan 27 | OpenGL 2 | Homework 2 milestone (due Jan 31) |
17, GL chapters 2,5,7 | Powerpoint, PDF |

Feb 1 | Curves 1 | (Optional) handout 4-5.1,8.1-3 of CAGD | Powerpoint, PDF | |

Feb 3 | Curves 2 | (Optional) 15, polar forms paper | Powerpoint, PDF | |

Feb 8 | Review of curves | Homework 2 | Problems,Powerpoint,PDF | |

Feb 10 | Review of Transforms, OpenGL | Problems, Powerpoint, PDF | ||

Feb 15 | Raster Graphics, Color | 3 | Powerpoint, PDF | |

Feb 17 | Midterm (in class) | |||

Feb 22 | Ray Tracing Intro | Homework 3 | 4 | Powerpoint, PDF |

Feb 24 | Ray Tracing Nuts and Bolts 1 | Haines chapter (handout) | Powerpoint, PDF | |

Mar 1 | Ray Tracing 2 + Acceleration | Hanrahan chapter (handout) Shirley Ch12.3,12.4(handout) | See above | |

Mar 3 | Texture Mapping | Homework 4 milestone | 11 | Powerpoint, PDF |

Mar 8 | High Quality Rendering | Written Assignment | Powerpoint, PDF | |

Mar 10 | Catch Up/No Class? | Homework 4 (due Mar 15) |