(no commit message)
[atyndall/cits2231.git] / scene.c
diff --git a/scene.c b/scene.c
index 7e5e2ad..7e6d209 100644 (file)
--- a/scene.c
+++ b/scene.c
@@ -129,7 +129,8 @@ void processTextureEvents(int id) {
  * @param id ID of ground texture selected\r
  */\r
 void processGTextureEvents(int id) {\r
-\r
+  currentGroundTexture = id;\r
+  glutPostRedisplay();\r
 }\r
 \r
 /**\r
@@ -169,7 +170,7 @@ void makeMenu() {
   //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
@@ -338,12 +339,18 @@ void display() {
   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
@@ -400,6 +407,7 @@ void init() {
   glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, direction0);\r
 \r
   glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 90.0);\r
+  glLightf(GL_LIGHT0, GL_SPOT_EXPONENT,90);\r
 \r
   glLightfv(GL_LIGHT1, GL_AMBIENT, ambient1);\r
   glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuse1);\r
@@ -407,17 +415,19 @@ void init() {
   glLightfv(GL_LIGHT1, GL_SPOT_DIRECTION, direction1);\r
 \r
   glLightf(GL_LIGHT1, GL_SPOT_CUTOFF, 90.0);\r
+  glLightf(GL_LIGHT1, GL_SPOT_EXPONENT,90);\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_LIGHT0);\r
+  glEnable(GL_LIGHT1);\r
   glEnable(GL_LIGHTING);\r
 }\r
 \r
@@ -453,7 +463,7 @@ int main(int argc, char **argv) {
   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

UCC git Repository :: git.ucc.asn.au