CPSC 324, Spring 2004
Information about the First Test


The first test in this course will take place on Monday, February 16. It will cover everything that we have done since the beginning of the term, including the first four labs. The readings from the OpenGL Programming Guide include Chapter 1; Chapter 2, pages 27 to 56; Chapter 4; and Chapter 6, pages 225 to 229, 232 to 233, and 241 to 245.

Important terms and ideas include:

Computer graphics
Computer animation
"Painting" vs. "Drawing"
GIMP
OpenGL
Vertex
Vertex colors in OpenGL
Polygon
Convex polygon
OpenGL as state machine
Drawing with OpenGL
GLUT
GLUT "callback" functions
GLUT display function
3D graphics
3D coordinates (x,y,z)
The z axis
Geometric modeling
Transformations
Moving
Scaling
Rotation
Lighting in 3D
Material properties
Textures
Camera/viewpoint/projection
Rendering
Blender
Color models
Direct color models
RGB, RGBA, CMY, HSV
Color gamut
Indexed color models
Palette
Graphics file formats
GIF, PNG, JPG
Lossless vs. lossy compression
The alpha channel
Color channels as grayscale images
Selections and Masks
Alpha blending in OpenGL
Anti-aliasing
Techniques from the drawing program
OpenGL commands:
   glVertex3f(x,y,z)
   glVertex2f(x,y)
   glColor3f(r,g,b)
   glColor4f(r,g,b,a)
   glClearColor(r,g,b,a)
   glClear(GL_COLOR_BUFFER_BIT)
   glBegin(GL_POLYGON)
   glBegin(GL_LINES)
   glBegin(GL_LINE_LOOP)
   glBegin(GL_LINE_STRIP)
   glBegin(GL_POINTS)
   glEnd()
   glViewport(x,y,width,height)
   gluOrtho2D(xmin, xmax, ymin, ymax)
   glFlush();
   glLineWidth(w)
   glLineStipple(rep,pattern)
   glEnable(GL_LINE_STIPPLE)
   glDisable(GL_LINE_STIPPLE)
   glEnable(GL_BLEND)
   glDisable(GL_BLEND)

Using GIMP

   Brush tool
   Gradient (blend) tool
   Bucket (fill) tool
   Levels dialog
   Gradients
   Opacity / Transparency
   Selections
   Partially selected pixels
   Bezier paths
   Quick Mask
   Layers
   Image composition