- specify a plane against which all geometry is clipped
C SPECIFICATION
PARAMETERS
_param1 Specifies which clipping plane is being posi-
tioned. Symbolic names of the form
GL_CLIP_PLANEi, where i is an integer between 0
and GL_MAX_CLIP_PLANES-1, are accepted.
_param2 Specifies the address of an array of four double-
precision floating-point values. These values
are interpreted as a plane equation.
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 per-
pendicular to the x, y, or z axis, against which all geom-
etry is clipped. To determine the maximum number of addi-
tional 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, _param2 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_PLANEi, 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_PLANEi =
GL_CLIP_PLANE0+i.
ERRORS
GL_INVALID_ENUM is generated if _param1 is not an accepted
value.