glClipPlane
[New
- Windows 95, OEM Service Release 2]
The glClipPlane
function specifies a plane against which all geometry is clipped.
void glClipPlane(
GLenum plane, |
|
const GLdouble * equation |
|
); |
|
Parameters
plane
The clipping
plane that is being positioned. Symbolic names of the form GL_CLIP_PLANEi,
where i is an integer between 0 and GL_MAX_CLIP_PLANES - 1, are accepted.
equation
The address
of an array of four double-precision floating-point values. These values are
interpreted as a plane equation.
Remarks
Geometry is
always clipped against the boundaries of a six-plane frustum in x, y,
and z. The glClipPlane function allows the specification of
additional planes, not necessarily perpendicular to the x- , y- ,
or z-axis, against which all geometry is clipped. Up to
GL_MAX_CLIP_PLANES planes can be specified, where GL_MAX_CLIP_PLANES is at
least six in all implementations. Because the resulting clipping region is the
intersection of the defined half-spaces, it is always convex.
The glClipPlane
function specifies a half-space using a four-component plane equation. When you
call glClipPlane, 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.
Use the glEnable
By default,
all clipping planes are 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.
The following
functions retrieve information related to glClipPlane:
glGetClipPlane
glIsEnabled
with argument GL_CLIP_PLANEi
Error Codes
The following
are the error codes generated and their conditions.
Error
Code |
Condition |
GL_INVALID_ENUM
|
plane was not an accepted value. |
GL_INVALID_OPERATION
|
glClipPlane was called between a call to glBegin and the
corresponding call to glEnd. |
See Also