1. Setting up OpenGL programming environment

2. Chapter 1 (1.1, 1.2, and 1.3)
Intro: display, object, model, image, primitive, graphics library, OpenGL programming, system
Hardware: raster display system and some basic terminologies

3-4. Chapter 1 (1.3 and 1.4)
OpenGL: OpenGL, related libraries (glut, glu, etc.), double buffering
Raster: scan-conversion, characters, clipping
Attributes: primitive attributes, antialiasing, animation, circle subdivision

5-6. Chapter 2 (basics: 2.3.3, 2.3.4, 2.3.5; 2.1 and 2.2)
3D models: OpenGL primitives, hidden-surface removal, back-face culling, cone, cylinder, sphere, collision detection
2D transform: 2D translate, scale, rotate, homogeneous coordinates, composition of transformation

7-8. Chapter 2 (2.3 and 2.4)
3D transform: 3D translate, scale, rotate, 3D composition of transformation, OpenGL implementation, examples
Viewing: 2D viweing, 3D viewing methods, OpenGL viewing methods, implementation, and programming

9-10. Chapter 3
Lighting: OpenGL color mode and interpolation, OpenGL lighting for a point
Shading: polygon shading methods, problems with interpolated shading, raytracing



11-12. Chapter 4
Blending: transparency, antialiasing, fog
Image: OpenGL images, framebuffer access
Texture mapping: OpenGL texture mapping, texture coordinates calculations

13-14. Chapter 5
Optional materials: choose from the following
Display list: immediate mode and display list for better efficiency
Color: olor theory and human color perception characteristics
Computer color: more on RGB and CMY
Curves: understand cubic curves
Surfaces: bi-cubic surfaces