2003-2004
Silicon Graphics, Inc.
glClipPlane
3G
glClipPlane
glClipPlanef
glClipPlanex
specify a plane against which all geometry is
clipped
C Specification
void glClipPlanef
GLenum plane
const GLfloat *equation
void glClipPlanex
GLenum plane
const GLfixed *equation
Parameters
plane
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_PLANES
-1
, are accepted.
equation
Specifies the address of an array of four fixed-point or
floating-point values. These are the coefficients of a plane
equation in object coordinates: p1,
p2, p3, and
p4, in that order.
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
glGet
with argument GL_MAX_CLIP_PLANES.
All implementations support at least one such clipping plane. 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, the coefficients given by equation are
transformed by the inverse of the modelview matrix and stored in the
resulting eye coordinates. The resulting plane equation is undefined, if
the model-view matrix M is singular and it may be
inaccurate, if M is poorly conditioned. Subsequent
changes to the modelview matrix have no effect on the stored
plane-equation coefficients. 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
plane is not an accepted value.
Associated Gets
glGetClipPlane
,
glIsEnabled
with argument
GL_CLIP_PLANEi.
See Also
glGetClipPlane
,
glGet
,
glEnable
Copyright
Copyright 2003-2004
Silicon Graphics, Inc. This document is licensed under the SGI Free
Software B License. For details, see http://oss.sgi.com/projects/FreeB/.