Gl.Frustum (gb.opengl)
Static Sub Frustum ( Left As Float, Right As Float, Bottom As Float, Top As Float, Near As Float, Far As Float )
Multiply the current matrix by a perspective matrix.
Parameters
- left, right
-
Specify the coordinates for the left and right vertical clipping planes.
- bottom, top
-
Specify the coordinates for the bottom and top horizontal clipping planes.
- nearVal, farVal
-
Specify the distances to the near and far depth clipping planes.
Both distances must be positive.
Description
Gl.Frustum describes a perspective matrix that produces a perspective projection.
The current matrix (see
Gl.MatrixMode) is multiplied by this matrix
and the result replaces the current matrix, as if
Gl.MultMatrix were called with the following matrix
as its argument:
Typically, the matrix mode is Gl.PROJECTION, and
and
specify the points on the near clipping plane that are mapped
to the lower left and upper right corners of the window,
assuming that the eye is located at (0, 0, 0).
specifies the location of the far clipping plane.
Both
nearVal and
farVal must be positive.
Use
Gl.PushMatrix and
Gl.PopMatrix to save and restore
the current matrix stack.
Notes
Depth buffer precision is affected by the values specified for
nearVal and
farVal.
The greater the ratio of
farVal to
nearVal is,
the less effective the depth buffer will be at distinguishing between
surfaces that are near each other.
If
roughly
bits of depth buffer precision are lost.
Because
approaches infinity as
nearVal approaches 0,
nearVal must never be set to 0.
Errors
Gl.INVALID_VALUE is generated if
nearVal or
farVal is not
positive, or if
left =
right, or
bottom =
top,
or
near =
far.
Gl.INVALID_OPERATION is generated if
Gl.Frustum
is executed between the execution of
Gl.Begin
and the corresponding execution of
Gl.End.
Associated Gets
Gl.Get with argument Gl.MATRIX_MODE
Gl.Get with argument Gl.MODELVIEW_MATRIX
Gl.Get with argument Gl.PROJECTION_MATRIX
Gl.Get with argument Gl.TEXTURE_MATRIX
Gl.Get with argument Gl.COLOR_MATRIX
See also
See original documentation on OpenGL website