* @param id ID of ground texture selected\r
*/\r
void processGTextureEvents(int id) {\r
-\r
+ currentGroundTexture = id;\r
+ glutPostRedisplay();\r
}\r
\r
/**\r
//glutAddMenuEntry("Rotation/Texture Scale", M_ROTATION_TEXTURE_SCALE);\r
//glutAddSubMenu("Material", materialMenu);\r
//glutAddSubMenu("Texture", textureMenu);\r
- //glutAddSubMenu("Ground texture", gTextureMenu);\r
+ glutAddSubMenu("Ground texture", gTextureMenu);\r
//glutAddSubMenu("Lights", lightMenu);\r
glutAddMenuEntry("Exit", M_EXIT);\r
\r
75.0,\r
aspect,\r
0.1,\r
- 400\r
+ 300\r
);\r
\r
glMatrixMode(GL_MODELVIEW);\r
lightPosition0[2] = 12*sin(lightAngle0);\r
lightPosition0[3] = 0.0;\r
\r
+ direction0[0] = lightPosition0[0];\r
+ direction0[2] = lightPosition0[2];\r
+\r
/* Reposition the light source 1. */\r
lightPosition1[0] = 12*cos(lightAngle1);\r
lightPosition1[1] = lightHeight1;\r
lightPosition1[2] = 12*sin(lightAngle1);\r
lightPosition1[3] = 0.0;\r
\r
+ direction1[0] = lightPosition1[0];\r
+ direction1[2] = lightPosition1[2];\r
+\r
glPushMatrix();\r
\r
/* Perform scene rotations based on user mouse/keyboard input. */\r
glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, direction0);\r
\r
glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 90.0);\r
+ glLightf(GL_LIGHT0, GL_SPOT_EXPONENT,1);\r
\r
glLightfv(GL_LIGHT1, GL_AMBIENT, ambient1);\r
glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse1);\r
glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, direction1);\r
\r
glLightf(GL_LIGHT1, GL_SPOT_CUTOFF, 90.0);\r
+ glLightf(GL_LIGHT1, GL_SPOT_EXPONENT,1);\r
\r
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, glightmodel);\r
+ glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);\r
\r
- glMaterialfv(GL_FRONT, GL_AMBIENT, ambient);\r
- glMaterialfv(GL_FRONT, GL_DIFFUSE, diffuse);\r
- glMaterialfv(GL_FRONT, GL_SPECULAR, specular);\r
- glMaterialfv(GL_FRONT, GL_EMISSION, emission);\r
- glMaterialf(GL_FRONT, GL_SHININESS, shine);\r
+ //glMaterialfv(GL_FRONT, GL_AMBIENT, ambient);\r
+ //glMaterialfv(GL_FRONT, GL_DIFFUSE, diffuse);\r
+ //glMaterialfv(GL_FRONT, GL_SPECULAR, specular);\r
+ //glMaterialfv(GL_FRONT, GL_EMISSION, emission);\r
+ //glMaterialf(GL_FRONT, GL_SHININESS, shine);\r
\r
glEnable(GL_LIGHT0);\r
glEnable(GL_LIGHT1);\r
glEnable(GL_DEPTH_TEST); // Enables Depth Testing\r
glDepthFunc(GL_LEQUAL); // the type\r
glEnable(GL_TEXTURE_2D);\r
- glEnable(GL_CULL_FACE);\r
+ //glEnable(GL_CULL_FACE);\r
glEnable(GL_NORMALIZE);\r
glLineWidth(2.0);\r
\r