(no commit message)
authorAsh Tyndall <[email protected]>
Sat, 8 Oct 2011 05:22:49 +0000 (13:22 +0800)
committerAsh Tyndall <[email protected]>
Sat, 8 Oct 2011 05:22:49 +0000 (13:22 +0800)
scene.c

diff --git a/scene.c b/scene.c
index 19df5d3..df115d1 100644 (file)
--- a/scene.c
+++ b/scene.c
@@ -167,6 +167,31 @@ void getTexture(int i) { // getTexture(i) loads texture i if it isn't already lo
     glBindTexture(GL_TEXTURE_2D, 0);  // Back to default texture\r
 }\r
 \r
+// Menu enum\r
+enum menu {\r
+  // Main menu\r
+  ROTATE_MOVE_CAMERA,\r
+  POSITION_SCALE,\r
+  ROTATION_TEXTURE_SCALE,\r
+  EXIT,\r
+\r
+  // Material submenu\r
+  MATERIAL_ALL_RGB,\r
+  MATERIAL_AMBIENT_RGB,\r
+  MATERIAL_DIFFUSE_RGB,\r
+  MATERIAL_SPECULAR_RGB,\r
+  MATERIAL_ALL_ADSS,\r
+  MATERIAL_RED_ADSS,\r
+  MATERIAL_GREEN_ADSS,\r
+  MATERIAL_BLUE_ADSS,\r
+\r
+  // Light submenu\r
+  LIGHT_MOVE_LIGHT_1,\r
+  LIGHT_RGBALL_LIGHT_1,\r
+  LIGHT_MOVE_LIGHT_2,\r
+  LIGHT_RGBALL_LIGHT_2\r
+};\r
+\r
 // Menu arrays\r
 const char *textureMenuEntries[NTEXTURE] = {\r
   "1 Plain", "2 Rust", "3 Concrete", "4 Carpet", "5 Beach Sand", \r
@@ -197,7 +222,11 @@ const char *materialMenuEntries[8] = {
 };\r
 \r
 void processMainEvents(int id) {\r
-   if(id == 99) exit(0);\r
+  switch (id) {\r
+    case EXIT:\r
+      exit(0);\r
+\r
+  }\r
 }\r
 \r
 void processObjectEvents(int id) {\r
@@ -220,53 +249,24 @@ void processLightEvents(int id) {
 \r
 }\r
 \r
-void makeMenu() {\r
-  //int main, object, objectsize, material, texture, gtexture, light;\r
-\r
-  glutCreateMenu(processMainEvents);\r
-  \r
-\r
-  /*int objectSize = sizeof(objectMenuEntries) / sizeof(objectMenuEntries[0]);\r
-  int numMenus = objectSize/10 + 1;\r
-  int objectSubmenu[numMenus];\r
-\r
-  for( int i = 0; objectSubmenu[i]; i++ ) {\r
-      objectSubmenu[i] = 0;\r
-  }\r
 \r
-  // Create the n-(n+10) menus\r
-  for ( int i = 0; i < numMenus; i++ ) {\r
 \r
-    objectSubmenu[i] = glutCreateMenu(processObjectEvents);\r
-\r
-    for ( int j = 0; j < (i + 1) * 10; j++ ) {\r
-\r
-      if ( objectMenuEntries[j] ) {\r
-        glutAddMenuEntry( objectMenuEntries[j], j + 1 );\r
-      } else { \r
-        break;\r
-      }\r
-\r
-    }\r
-\r
-  }\r
+void makeMenu() {\r
+  glutCreateMenu(processMainEvents);\r
 \r
-  // Create the overmenu*/\r
-  //int objectMenu = glutCreateMenu(processObjectEvents);\r
-  /*for ( int i = 0; objectSubmenu[i]; i++ ) {\r
-    char name[10];\r
-    sprintf(name,"%d",(i + 1) * 10);\r
-    glutAddSubMenu( name, objectSubmenu[i] );\r
-  }*/\r
+  glutAddMenuEntry("Rotate/Move Camera", ROTATE_MOVE_CAMERA);\r
+  //Add object\r
+  glutAddMenuEntry("Position/Scale", POSITION_SCALE);\r
+  glutAddMenuEntry("Rotation/Texture Scale", ROTATION_TEXTURE_SCALE);\r
+  //material\r
+  //texture\r
+  //ground texture\r
+  //lights\r
 \r
-  //glutAddSubMenu("Objects", objectMenu);\r
-  glutAddMenuEntry("Exit", 99);\r
-  \r
-  \r
 \r
+  glutAddMenuEntry("Exit", EXIT);\r
 \r
   glutAttachMenu(GLUT_RIGHT_BUTTON);\r
-\r
 }\r
 \r
     \r

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