Alexander Graham Bell is alive and well in NewYork and still awaiting a dial tone. Concept 7.3 : Independently Moving the Light ============================================ On your left you should see a simple torus drawn in red. At the center of the torus you should also see a white cube depicting the position of the light source. The left mouse button starts the animation. You should see the light move. Also notice the specular hightlight shift from the top of the torus to the bottom, then become invisible (when the light moves to the back of the torus) and then be visible again. Also notice how the ambient lighting changes from the front to the back and then the front again and so on. Our display routine in this case looks like : void display(void) { glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_DEPTH_TEST); glPushMatrix(); glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, mat_amb_diff_white); glMaterialfv(GL_FRONT, GL_EMISSION, mat_no_emissivity); glLoadIdentity(); gluLookAt(0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); glPushMatrix(); glRotated(spin, 1.0, 0.0, 0.0); glLightfv(GL_LIGHT0, GL_POSITION, light_position); glTranslatef(0.0, 0.0, 1.5); glutWireSphere(0.10, 30, 30); glPopMatrix(); glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular); glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess); glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, mat_amb_diff_red); glutSolidTorus(0.275, 0.85, 8, 15); glPopMatrix(); glFlush (); }