(no commit message)
[atyndall/cits2231.git] / scene.c
diff --git a/scene.c b/scene.c
index c176af0..8905850 100644 (file)
--- a/scene.c
+++ b/scene.c
@@ -464,11 +464,24 @@ void makeMenu() {
  * @param h New height\r
  */\r
 void windowReshape(int width, int height) {\r
-  glViewport(0, 0, (GLsizei)width, (GLsizei)height); // Set our viewport to the size of our window\r
-  glMatrixMode(GL_PROJECTION); // Switch to the projection matrix so that we can manipulate how our scene is viewed\r
-  glLoadIdentity(); // Reset the projection matrix to the identity matrix so that we don't get any artifacts (cleaning up)\r
-  gluPerspective(60, (GLfloat)width / (GLfloat)height, 0.1, 1000.0); // Set the Field of view angle (in degrees), the aspect ratio of our window, and the new and far planes\r
-  glMatrixMode(GL_MODELVIEW); // Switch back to the model view matrix, so that we can start drawing shapes correctly\r
+  glViewport(0, 0, (GLsizei)width, (GLsizei)height); \r
+  glMatrixMode(GL_PROJECTION);\r
+  glLoadIdentity(); \r
+  \r
+  if (width <= height)\r
+    gluPerspective(60, (GLfloat)height / (GLfloat)width, 0.1, 1000.0);\r
+  else\r
+    gluPerspective(60, (GLfloat)width / (GLfloat)height, 0.1, 1000.0);\r
+  glMatrixMode(GL_MODELVIEW);\r
+  \r
+  /*glViewport(0, 0, w, h);\r
+    glMatrixMode(GL_PROJECTION); /* switch matrix mode\r
+    glLoadIdentity();\r
+    if (w <= h)\r
+      gluOrtho2D(-2.0, 2.0, -2.0 * (GLfloat) h / (GLfloat) w, 2.0 * (GLfloat) h / (GLfloat) w);\r
+    else\r
+      gluOrtho2D(-2.0 * (GLfloat) w / (GLfloat) h, 2.0 * (GLfloat) w / (GLfloat) h, -2.0, 2.0);\r
+    glMatrixMode(GL_MODELVIEW); /* return to modelview mode */\r
 }\r
 \r
 /**\r

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