**NAME**
**glClipPlane** - specify a plane against which all geometry is
clipped
**C** **SPECIFICATION**
void **glClipPlane**( GLenum *plane*,
const GLdouble **equation* )
**PARAMETERS**
*plane* Specifies which clipping plane is being
positioned. Symbolic names of the form
**GL_CLIP_PLANE***i*, where *i* is an integer between 0
and **GL_MAX_CLIP_PLANES** -1, are accepted.
*equation* 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
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**i = **GL_CLIP_PLANE0** +
i.
**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**
**glGetClipPlane**
**glIsEnabled** with argument **GL_CLIP_PLANE***i*
**SEE** **ALSO**
**glEnable**