glOrtho function

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

Syntax

void WINAPI glOrtho(
   GLdouble left,
   GLdouble right,
   GLdouble bottom,
   GLdouble top,
   GLdouble zNear,
   GLdouble zFar
);

Parameters

left

The coordinates for the left vertical clipping plane.

right

The coordinates for theright vertical clipping plane.

bottom

The coordinates for the bottom horizontal clipping plane.

top

The coordinates for the top horizontal clipping plans.

zNear

The distances to the nearer depth clipping plane. This distance is negative if the plane is to be behind the viewer.

zFar

The distances to the farther depth clipping plane. This distance is negative if the plane is to be behind the viewer.

Return value

This function does not return a value.

Error codes

The following error code can be retrieved by the glGetError function.

Name Meaning
GL_INVALID_OPERATION
The function was called between a call to glBegin and the corresponding call to glEnd.

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 zNear and zFar can be either positive or negative. The corresponding matrix is shown in the following image.

Diagram showing the perspective matrix the glOrtho function describes.

where

Equations describing the perspective matrix.

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. Use glMatrixMode to set the current matrix.

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

Requirements

Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Header
Gl.h
Library
Opengl32.lib
DLL
Opengl32.dll

See also

glBegin

glEnd

glFrustum

glMatrixMode

glMultMatrix

glPushMatrix

glViewport