*/\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
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