glOrtho

The glOrtho function multiplies the current matrix by an orthographic matrix.

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

Parameters

left, right
The coordinates for the left and right vertical clipping planes.
bottom, top
The coordinates for the bottom and top horizontal clipping planes.
near, far
The distances to the nearer and farther depth clipping planes. These distances are negative if the plane is to be behind the viewer.

Remarks

The glOrtho function describes a perspective matrix that produces a parallel projection. The (left, bottom, – near) and (right, top, – near) parameters specify the points on the near clipping plane that are mapped to the lower-left and upper-right corners of the window, respectively, assuming that the eye is located at (0, 0, 0). The –far parameter specifies the location of the far clipping plane. Both near and far can be either positive or negative. The corresponding matrix is

where

The current matrix is multiplied by this matrix with the result replacing the current matrix. That is, if M is the current matrix and O is the ortho matrix, then M is replaced with M · O.

Use glPushMatrix and glPopMatrix to save and restore the current matrix stack.

The following functions retrieve information related to glOrtho:

glGet with argument GL_MATRIX_MODE

glGet with argument GL_MODELVIEW_MATRIX

glGet with argument GL_PROJECTION_MATRIX

glGet with argument GL_TEXTURE_MATRIX

Error Codes

The following are the error codes generated and their conditions.

Error Code Condition
GL_INVALID_OPERATION glOrtho was called between a call to glBegin and the corresponding call to glEnd.

QuickInfo

  Windows NT: Use version 3.5 and later.
  Windows: Use Windows 95 and later.
  Windows CE: Unsupported.
  Header: Declared in gl.h.
  Import Library: Link with opengl32.lib.

See Also

glBegin, glEnd, glFrustum, glMatrixMode, glMultMatrix, glPushMatrix, glViewport