Signature
Parameters
Description
Geometry is always clipped against the boundaries of a six-plane frustum
in
x
,
y
, and
z
.
glClipPlane
allows the specification of additional planes,
not necessarily perpendicular to the
x
,
y
, or
z
axis,
against which all geometry is clipped.
To determine the maximum number of additional clipping planes, call
glGetIntegerv
with argument
GL_MAX_CLIP_PLANES
. All
implementations support at least six such clipping planes.
Because the resulting clipping region is the intersection
of the defined half-spaces,
it is always convex.
glClipPlane
specifies a half-space using a four-component plane equation.
When
glClipPlane
is called,
equation
is transformed by the inverse of the modelview matrix
and stored in the resulting eye coordinates.
Subsequent changes to the modelview matrix have no effect on the
stored plane-equation components.
If the dot product of the eye coordinates of a vertex with the
stored plane equation components is positive or zero,
the vertex is
in
with respect to that clipping plane.
Otherwise, it is
out
.
To enable and disable clipping planes, call
glEnable
and
glDisable
with the argument
GL_CLIP_PLANE
i
,
where
i
is the plane number.
All clipping planes are initially defined as (0, 0, 0, 0) in eye coordinates
and are
disabled.
Notes
It is always the case that
GL_CLIP_PLANE
=
GL_CLIP_PLANE0
+
.
Errors
GL_INVALID_ENUM
is generated if
plane
is not an accepted value.
GL_INVALID_OPERATION
is generated if
glClipPlane
is executed between the execution of
glBegin
and the corresponding execution of
glEnd
.
Associated Gets
See Also
Copyright
Copyright
1991-2006
Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see
http://oss.sgi.com/projects/FreeB/
.
Sample Code References
The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.
glClipPlane