glClipPlane  specify a plane against which all geometry
is clipped
void glClipPlane(
GLenum plane,
const GLdouble *equation );
Specifies which clipping plane is being positioned. Symbolic
names of the form GL_CLIP_PLANEi, where i is an
integer between 0 and GL_MAX_CLIP_PLANES1, are accepted.
Specifies the address of an array of four doubleprecision
floatingpoint values. These values are interpreted as a
plane equation.
Geometry is always clipped against the boundaries of a
sixplane 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 halfspaces, it
is always convex.
glClipPlane() specifies a halfspace using a fourcomponent
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 planeequation 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.
It is always the case that GL_CLIP_PLANEi =
GL_CLIP_PLANE0+i.
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().
glGetClipPlane()
glIsEnabled() with argument GL_CLIP_PLANEi
glEnable(3)
glClipPlane(3G)
[ Back ]
