So am I am making a 2D openGL app. I have it rendering quite well, using an orthographic projection. I setup the viewport to 320x480, and I set the original projection to be 100x150, with the origin centered in the top, middle of the screen. This has worked quite well for rendering everything.

Now, I'm trying to zoom in. I looked around and, for OpenGL ES 1.1, the best way is to use glOrthof or glOrthox. So I made a function that will call glOrthof and change the extents of the screen. Unfortunately, nothing changes. I have logging tell me that it is calling the function, and which what values. I even tried to manually set the values. But still the screen doesn't change. Is there something that I'm missing?

glViewport( 0, 0, 320, 480 );
glMatrixMode( GL_PROJECTION );
glLoadIdentity( );

glOrthof( left, left+width, top-height, top, -20.0, 20.0 );

glMatrixMode( GL_MODELVIEW );
glLoadIdentity( );
//SDL_GL_SwapBuffers( );
I have tried with and without the swap buffers. I have tried with and without the glViewPort. Logging tells me that left, width, top, and height are all good values.

I can provide the setup code if needed, as well. I just don't know why it wouldn't change the screen. All my searching says this is how you zoom with an orthographic projection in OpenGL.