views:

141

answers:

2

Hi! I would like to use Oblique projection for menus and perspective projection for the 3d-scene. is there a way to combine between this two projections ?

In general I'm asking how can I create menus in opengl for my 3d scene.

Programming using the c++ language.

Thanks!

+3  A: 
  • Draw your 3D scene.
  • Push the projection matrix.
  • (Maybe clear the depth buffer).
  • Set up 2D projection.
  • Draw your 2D menu.
  • Pop the projection matrix.
Chris Lercher
+3  A: 

No problem. Just draw your 3D scene with appropriate modelview and projection matrices loaded. Then load up 2D matrices, turn off depth test, and render your menus. Here's an example of what it might look like.

glEnable(GL_DEPTH_TEST)
glMatrixMode(GL_MODELVIEW);
--code to load my Perspective Modelview Matrix
glMatrixMode(GL_PROJECTION);
--code to load my Perspective Projection Matrix
--code to draw my 3D scene
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
glMatrixMode(GL_PROJECTION);
--code to setup my "menu" coords, probably something like
  gluOrtho2D
glDisable(GL_DEPTH_TEST)
--code to draw the menus
Michael Daum