The syllabus for this course is here.
If you would like to write OpenGL programs on your own computer, you will need two things. First, you need to make sure that the OpenGL libraries and header files are installed with your programming system. In many programming systems, including Visual C++, OpenGL will be installed already. If you try to compile an OpenGL program and your compiler complains that it can not open the header file "GL/gl.h", you need to get the appropriate OpenGL header files and libraries. The best place to find these is the OpenGL web site.
The second piece you will need is the OpenGL utility kit, or glut. This is not typically installed, so you will need to obtain this. Here are the instructions for how to obtain and install glut for Visual C++.
If you need to obtain glut for some other platform, please see the GLUT downloads site.
The web site for the text, including source code for all examples is here.
Documentation on OpenGL functions is available here.
We covered sections 2.1-2.4 and 3.1-3.4 in the text. You should read these sections.
I finished chapter 3, did all of chapter 4, and section 5.2. You should read these sections.
Do case study 3.4 at the end of chapter 3. Write functions to generate rounded, pointed, and ogee arches. Write a program that uses those functions to draw the facade of a building. This assignment is due by the start of class on Thursday, April 5.
I finished chapter 5. Please finish reading that chapter.
4.4.7c, 4.5.9, 4.7.1b, 5.3.3, 5.3.11, and 5.5.1. These problems are due at the start of class on Tuesday, April 10.
Chapter 6. You should read all of chapter 6.
6.2.2, 6.3.1, 6.4.2, 6.5.14, and 6.5.20. These problems are due on Tuesday, April 17.
Do case study 6.8 at the end of chapter 6. Incorporate these vaults into a building and draw the building. This assignment is due on Tuesday, April 17.
Chapter 7
Chapter 8
The first midterm is coming up on Tuesday, April 24. Here is a list of topics for this exam.
I went over solutions to the first midterm.
To give you a starting point for future programs I put together a couple of simple example programs. The first example is a minimal program that renders a cube with lighting and perspective effects. The second example uses a parametric representation to render a pointed dome.
7.4.8, 7.6.3, 8.2.4, 8.6.2, and 8.6.3. These problems are due on Tuesday, May 8.
Create a program that renders a stand of half a dozen or so asparagus shoots. Here are specific requirements for your program.
This assignment is due on Tuesday, May 8.
Chapter 9
Chapter 10 - reading is everything except section 10.10.
I showed my solution to programming assignment 3.
I talked about OpenGL evaluators and showed a number of examples. Discussion of the examples and further documentation on evaluators is available here, and projects for all the examples I showed are here.
9.4.2, 9.7.2, 10.4.7, 10.7.2, 10.7.9, and 10.11.5 parts a and b. These problems are due on Tuesday, May 22.
Create a program that renders a teapot made up of Bezier or NURBS surfaces. For hints and suggestions, see case study 10.8. This program is due on Tuesday, May 22.
Chapter 12 - ray tracing
The second midterm is coming up on Thursday, May 24. The exam will cover chapters 7 through 10. Here is a list of topics to study in preparation for the exam.
I talked about the OpenGL extensions mechanism, showed how to load and use extensions, demonstrated some examples of extensions, and talked briefly about the OpenGL shading language. Here is a nice introductory discussion of OpenGL extensions. One resource that makes working with OpenGL extensions easier is GLEW, the OpenGL extension wrangler library. There is even a book (now somewhat dated) on OpenGL extensions.
The final exam is coming up on Monday, June 4 at 1:30. The exam will be comprehensive. Here is a list of ray tracing topics to know for the final.