(no commit message)
[atyndall/cits2231.git] / scene.c
diff --git a/scene.c b/scene.c
index 2a452b0..4514e79 100644 (file)
--- a/scene.c
+++ b/scene.c
@@ -112,6 +112,7 @@ void processLightEvents(int id) {
 void processObjectEvents(int id) {\r
   // **NOTE: For the testing phase, only have the teapot\r
   addSceneObject(id);\r
+  glutPostRedisplay();\r
 }\r
 \r
 /**\r
@@ -119,7 +120,10 @@ void processObjectEvents(int id) {
  * @param id ID of texutre selected\r
  */\r
 void processTextureEvents(int id) {\r
-\r
+  if ( curObject >= 0 ) {\r
+    sceneObjs[curObject].texture = id;\r
+    glutPostRedisplay();\r
+  }\r
 }\r
 \r
 /**\r
@@ -167,7 +171,7 @@ void makeMenu() {
   glutAddMenuEntry("Position/Scale", M_POSITION_SCALE);\r
   glutAddMenuEntry("Rotation/Texture Scale", M_ROTATION_TEXTURE_SCALE);\r
   //glutAddSubMenu("Material", materialMenu);\r
-  //glutAddSubMenu("Texture", textureMenu);\r
+  glutAddSubMenu("Texture", textureMenu);\r
   glutAddSubMenu("Ground texture", gTextureMenu);\r
   //glutAddSubMenu("Lights", lightMenu);\r
   glutAddMenuEntry("Exit", M_EXIT);\r
@@ -384,18 +388,15 @@ void display() {
     drawFloor();\r
     \r
     // Draw sceneObjs array\r
-    glPushMatrix();\r
-      for ( int i = 0; i < nObjects; i++ ) {\r
+    for ( int i = 0; i < nObjects; i++ ) {\r
+      glPushMatrix();\r
         SceneObject so = sceneObjs[i];\r
 \r
         // Apply rotation vector\r
-        vector* rv = so.rotation.vect;\r
-        printf("%d, %d, %d\n", *rv[0], *rv[1], *rv[2]);\r
-       /* glRotatef(so.rotation.parameter, *rv[0], *rv[1], *rv[2]);\r
+        glRotatef(so.rotation.amount, so.rotation.vector[0], so.rotation.vector[1], so.rotation.vector[2]);\r
 \r
         // Apply scaling vector\r
-        vector* sv = so.scale;\r
-        glScalef(*sv[0], *sv[1], *sv[2]);\r
+        glScalef(so.scale[0], so.scale[1], so.scale[2]);\r
 \r
         // Apply translation vector\r
         glTranslatef(so.x, so.y, so.z);\r
@@ -406,7 +407,7 @@ void display() {
           glBindTexture(GL_TEXTURE_2D, so.texture);\r
         } else {\r
           glBindTexture(GL_TEXTURE_2D, 0);\r
-        }*/\r
+        }\r
 \r
         // Draw actual object\r
         if ( so.mesh > 0 ) {\r
@@ -419,8 +420,9 @@ void display() {
         }\r
 \r
         glBindTexture(GL_TEXTURE_2D, 0);\r
-      }\r
-    glPopMatrix();\r
+      glPopMatrix();\r
+    }\r
+    \r
 \r
     // Draw a white ball over the light source\r
     glPushMatrix();\r

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