(no commit message)
[atyndall/cits2231.git] / scene.c
diff --git a/scene.c b/scene.c
index 0c5329b..99506e0 100644 (file)
--- a/scene.c
+++ b/scene.c
@@ -184,7 +184,15 @@ void makeMenu() {
  */\r
 void windowReshape(int w, int h) {\r
   glViewport(0, 0, (GLsizei) w, (GLsizei) h);\r
-  // **NOTE: windowReshape needs to be re-written using glFrustrum and perspective projection calculations\r
+  glMatrixMode(GL_PROJECTION);\r
+  glLoadIdentity();\r
+  if (w <= h)\r
+    glFrustum(-near, far, -near*(GLfloat) h / (GLfloat) w,\r
+      far*(GLfloat) h / (GLfloat) w, nearClip, farClip);\r
+  else\r
+    glFrustum(-near*(GLfloat) w / (GLfloat) h,\r
+       far*(GLfloat) w / (GLfloat) h, near, far, nearClip, farClip);\r
+  glMatrixMode(GL_MODELVIEW);\r
 }\r
 \r
 /**\r
@@ -391,18 +399,18 @@ int main(int argc, char **argv) {
   glLineWidth(1.0);\r
 \r
   // **NOTE: Currently the perspective and look-at code is static, for testing purposes\r
-  glMatrixMode(GL_PROJECTION);\r
-  gluPerspective(\r
-     40.0, /* field of view in degree */\r
-      1.0, /* aspect ratio */\r
-      1.0, /* Z near */ // **NOTE: Seems to be issue with near < 0 causing invisible everything\r
-    100.0  /* Z far */\r
-    );\r
+  //glMatrixMode(GL_PROJECTION);\r
+  //gluPerspective(\r
+  //   40.0, /* field of view in degree */\r
+  //    1.0, /* aspect ratio */\r
+  //    1.0, /* Z near */ // **NOTE: Seems to be issue with near < 0 causing invisible everything\r
+   // 100.0  /* Z far */\r
+  //  );\r
 \r
   glMatrixMode(GL_MODELVIEW);\r
   gluLookAt(\r
-    0.0,  35.0, -20.0,  /* eye is at (x,y,z) */\r
-    0.0,  10.0,  0.0,  /* center is at (x,y,z) */\r
+    0.0,  8.0, 30.0,  /* 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

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