+ glutSolidTeapot(1); // Draw teapot for test\r
+ glPopMatrix();\r
+\r
+ glPushMatrix();\r
+ glDisable(GL_LIGHTING);\r
+ glLoadIdentity();\r
+ glColor3f(1.0, 1.0, 1.0);\r
+\r
+ /* Draw a yellow ball at the light source. */\r
+ glTranslatef(lightPosition[0], lightPosition[1], lightPosition[2]);\r
+ glutSolidSphere(1.0, 5, 5);\r
+\r
+ glEnable(GL_LIGHTING);\r
+ glPopMatrix();\r
+\r
+ glPopMatrix();\r
+\r
+ glutSwapBuffers();\r
+}\r
+\r
+/**\r
+ * init function; sets initial OpenGL state\r
+ */\r
+void init() {\r
+ glMatrixMode(GL_PROJECTION);\r
+\r
+ gluPerspective(\r
+ 60.0, /* field of view in degree */\r
+ 1.0, /* aspect ratio */ \r
+ 0.0, /* Z near */\r
+ 900.0 /* Z far */\r
+ ); \r
+\r
+ glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, 1);\r
+ glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor);\r
+ glLightf(GL_LIGHT0, GL_CONSTANT_ATTENUATION, 0.1);\r
+ glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 0.05);\r
+ glEnable(GL_LIGHT0);\r
+ glEnable(GL_LIGHTING);\r
+\r
+ glMatrixMode(GL_MODELVIEW);\r