To main page
(GL_PROJECTION matrix) is one of three main OpenGL matrices
, it defines the angle of view
, aspect ratio
, the near and far clipping ranges
Basically it defines how big is the difference between the objects that are near and those that are far, or whether this is orthogonal mode; it determines the width to height ratio (aspect ratio) and how close or far the point should be from camera to be discarded.
Projection matrix is 4x4 matrix, stored in OpenGL in column major
order, so it is stored like so (presented here in usual math notation):
[0 4 8 12]
[1 5 9 13]
[2 6 10 14]
[3 7 11 15]
Usually OpenGL calls return the array of 16 elements and this is how they are arranged to be used in real math
description for explanation of which element of matrix is which.
glGetFloatv( GL_PROJECTION_MATRIX, buffer);
buffer = glGetDouble( GL_PROJECTION_MATRIX)
The main calls that set projection matrix are gluPerspective
See also OpenGL matrix abuse
happens when projection matrix is used to store coordinates of camera
looking at an object.