CPSC 324, Fall 2002 Information for the Third Test ------------------------------------------------------------------------- The second test for this course will be given in class on Monday, December 9. It will cover material we have done since the second test. This includes Lab 9 through Lab 12 Part 1, textures, homogeneous coordinates and transformation matrices, lighting calculations, hierarchical graphics, scene graphs, indexed face sets, and ray-tracing. You do not need to know the specific hierarchical graphics system from Lab 11, and there will be no questions that are specifically about Blender or POV-Ray. There might be some sort of general, summing-up question about computer graphics. You should remember the following basic OpenGL drawing functions and be prepared to write some code using them: glVertex3f, glVertex3f, glColor3f, glNormal3f, glBegin(GL_POLYGON), glEnd. Here is a more detailed list of topics: texture procedural texture image texture texture coordinates (s,t) mapping textures to objects particle system environment map homogenous coordinates (x,y,z,w) points at infinity light positions as homogenous coordinates matrix multiplication transformation matrix translation matrix scaling matrix matrix multiplication and composition of transformations why are matrices used? why are homogeneous coordinates used? lighting calculations ambient light, ambient color emissive color, diffuse light color, diffuse material color specular light color, specular material color normal vector, light rays and reflected rays specular exponent light attenuation factor hierarchical graphics solar system example and robot arm example scene graph dag (directed acyclic graph) traversing the scene graph relation of PushMatrix, PopMatrix to scene graph OpenGL display lists indexed face sets how vertex and face data are encoded for indexed face sets normals-by-face vs. normals-by-vertex colors-by-face vs. colors-by-vertex shortcomings of OpenGL-style rendering recursive ray-tracing the ray-tracing algorithm how ray tracing deals with lighting, shadows, reflection, etc. anti-aliasing in ray-tracing