(no commit message)
authorAsh Tyndall <[email protected]>
Fri, 21 Oct 2011 02:52:35 +0000 (10:52 +0800)
committerAsh Tyndall <[email protected]>
Fri, 21 Oct 2011 02:52:35 +0000 (10:52 +0800)
globals.c
globals.h
scene.c

index b53163e..374d8b3 100644 (file)
--- a/globals.c
+++ b/globals.c
@@ -63,9 +63,6 @@ GLfloat far = 30;
 GLfloat nearClip = -200;
 GLfloat farClip = 200;
 
 GLfloat nearClip = -200;
 GLfloat farClip = 200;
 
-/* Zoom factor for mouse movements */
-GLfloat zoomFactor = 1.0;
-
 /* Recursion level for floor drawing */
 int drawFloorRecurse = 8;
 
 /* Recursion level for floor drawing */
 int drawFloorRecurse = 8;
 
@@ -96,5 +93,8 @@ GLfloat ambient[] = {0.2, 0.2, 0.2, 1.0};
 GLfloat diffuse[] = {1.0, 0.8, 0.0, 1.0};
 GLfloat specular[] = {1.0, 1.0, 1.0, 1.0};
 
 GLfloat diffuse[] = {1.0, 0.8, 0.0, 1.0};
 GLfloat specular[] = {1.0, 1.0, 1.0, 1.0};
 
+/* Zoom and rotate tracking */
+GLfloat zoomFactor = 0.0, rotateFactor = 0.0;
+
 /* Beginning width, height */
 int width = 500, height = 500;
\ No newline at end of file
 /* Beginning width, height */
 int width = 500, height = 500;
\ No newline at end of file
index 4c7854a..dc92453 100644 (file)
--- a/globals.h
+++ b/globals.h
@@ -53,9 +53,6 @@ extern GLfloat far;
 extern GLfloat nearClip;
 extern GLfloat farClip;
 
 extern GLfloat nearClip;
 extern GLfloat farClip;
 
-/* Zoom factor for mouse movements */
-extern GLfloat zoomFactor;
-
 /* Recursion level for floor drawing */
 extern int drawFloorRecurse;
 
 /* Recursion level for floor drawing */
 extern int drawFloorRecurse;
 
@@ -89,4 +86,7 @@ extern GLfloat specular[];
 /* Beginning width, height */
 extern int width, height;
 
 /* Beginning width, height */
 extern int width, height;
 
+/* Zoom and rotate tracking */
+GLfloat zoomFactor, rotateFactor;
+
 #endif /* GLOBALS_H */
\ No newline at end of file
 #endif /* GLOBALS_H */
\ No newline at end of file
diff --git a/scene.c b/scene.c
index 642fdcd..c024bf1 100644 (file)
--- a/scene.c
+++ b/scene.c
@@ -206,16 +206,6 @@ void mouse(int button, int state, int x, int y) {
       moving = 0;\r
     }\r
   }\r
       moving = 0;\r
     }\r
   }\r
-  if (button == GLUT_MIDDLE_BUTTON) {\r
-    if (state == GLUT_DOWN) {\r
-      lightMoving = 1;\r
-      lightStartX = x;\r
-      lightStartY = y;\r
-    }\r
-    if (state == GLUT_UP) {\r
-      lightMoving = 0;\r
-    }\r
-  }\r
 }\r
 \r
 /**\r
 }\r
 \r
 /**\r
@@ -266,19 +256,12 @@ void keyboard(unsigned char key, int x, int y) {
  */\r
 void motion(int x, int y) {\r
   if (moving) {\r
  */\r
 void motion(int x, int y) {\r
   if (moving) {\r
-    angle = angle + (x - startx);\r
-    angle2 = angle2 + (y - starty);\r
+    zoomFactor += (x - startx);\r
+    rotateFactor += (y - starty);\r
     startx = x;\r
     starty = y;\r
     glutPostRedisplay();\r
   }\r
     startx = x;\r
     starty = y;\r
     glutPostRedisplay();\r
   }\r
-  if (lightMoving) {\r
-    lightAngle += (x - lightStartX)/40.0;\r
-    lightHeight += (lightStartY - y)/20.0;\r
-    lightStartX = x;\r
-    lightStartY = y;\r
-    glutPostRedisplay();\r
-  }\r
 }\r
 \r
 /**\r
 }\r
 \r
 /**\r
@@ -309,26 +292,19 @@ void display() {
   glLoadIdentity();\r
 \r
   gluLookAt(\r
   glLoadIdentity();\r
 \r
   gluLookAt(\r
-    0.0,  0.0,  5.0,  /* eye is at (x,y,z) */\r
+    0.0,  0.0,  5.0 + zoomFactor,  /* eye is at (x,y,z) */\r
     0.0,  0.0,  0.0,  /* center is at (x,y,z) */\r
     0.0,  1.0,  0.0   /* up is in postivie Y direction */\r
     );\r
 \r
   glRotatef(75.0, 1.0, 0.0, 0.0);\r
 \r
     0.0,  0.0,  0.0,  /* center is at (x,y,z) */\r
     0.0,  1.0,  0.0   /* up is in postivie Y direction */\r
     );\r
 \r
   glRotatef(75.0, 1.0, 0.0, 0.0);\r
 \r
-  /* Reposition the light source. */\r
-  lightPosition[0] = 12*cos(lightAngle);\r
-  lightPosition[1] = lightHeight;\r
-  lightPosition[2] = 12*sin(lightAngle);\r
-  lightPosition[3] = 0.0;\r
-\r
   glPushMatrix();\r
 \r
     /* Perform scene rotations based on user mouse/keyboard input. */\r
   glPushMatrix();\r
 \r
     /* Perform scene rotations based on user mouse/keyboard input. */\r
-    glRotatef(angle, 0.0, 1.0, 0.0);\r
-    glRotatef(angle2, 1.0, 0.0, 0.0);\r
-    glTranslatef(camx, camy, camz);\r
-    glRotatef(rot, 1.0, 0.0, 0.0);\r
+    glRotatef(rotateFactor, 0.0, 0.0, 1.0);\r
+    //glTranslatef(camx, camy, camz);\r
+    //glRotatef(rot, 1.0, 0.0, 0.0);\r
 \r
     glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);\r
 \r
 \r
     glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);\r
 \r

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