• Advertisement
Sign in to follow this  

glortho function - assistance required...

This topic is 1580 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi all;

 

I have some trouble with trying to use the glOrtho function to scale some graphics to a window (height - 500, width - 500).

I've created a function called reshape to do this, but for some reason I think my numbers are off as the graphics are scaling to the size I would like, but for some reason it is only scaling into the top-left hand corner of the window - I want to make sure that the scaling fills the entire size of the window. Can anyone provide any tips on what I can do?

 

Thank you

...void reshape(int w, int h)
{
glViewport(0,0, w, h);
GLfloat aspect = (GLfloat)w / (GLfloat) h;
glMatrixMode (GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0f, w, h, 0.0f, 0.0f, 1.0f);
}
...


int main (int argc, char **argv)
{

...
glutInitWindowSize(500, 500);
glutReshapeFunc(reshape);
...
}

Share this post


Link to post
Share on other sites
Advertisement

Try:

 

GLfloat x = w / 2;
GLfloat y = h / 2;
glOrtho(-x, x, -y, y, -1.0f, 1.0f);

 

Scaling the projection matrix will scale everything in the scene. If you just want to scale a specific object, you should do so by scaling its world transform matrix.

 

... Is the example small enough to post somewhere? That would help.

Share this post


Link to post
Share on other sites

Hi Goran;

 

I'll definitely try what you suggested and will come back to you with a response.

 

Thank you very much indeed :)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement