PDA

View Full Version : Problem with Zoom In/Out and glOrtho : Model flipped



HephaestusGR
07-07-2013, 05:43 AM
Hi everyone!

I am a beginner with OpenGL so any help would be really appreciated.

I have the following problem:

When I zoom in, the model moves towards the screen, but
then it is flipped and then starts moving back to the z direction
of the screen.

I use the glOrtho(left, right, bottom, top, near, far) function,
so I noticed that the flip happens when bottom and top change
their sign (from positive to negative and vice versa).

Some details about the code:

I have setup the mouseMoveEvent (in Qt) where I calculate
the Z translation according to the mouse Y movement.

zTranslation -= mouseClickYPosition - mouseLastYPosition;

then while drawing the objects I setup the glOrtho parameters:

left = -2.1 + zTranslation;
right = 2.1 - zTranslation;
bottom = -2.1 + zTranslation;
top = 2.1 - zTranslation;
near = -3.1 - zTranslation;
far = -3.1 ;

glOrtho(left, right, bottom, top, near, far);


So what is wrong here?

In general it is better to use glTranslatef, glRotatef, glScalef or glOrtho?

GClements
07-07-2013, 11:54 PM
In general it is better to use glTranslatef, glRotatef, glScalef or glOrtho?
Use glOrtho for the projection matrix, and the others for the model-view matrix. Also, avoid using negative scale factors with the model-view matrix, as that will turn the model inside-out (i.e. it will change whether faces are front-facing or back-facing for the purposes of culling and lighting).