clipplane - specify a plane against which all geometry is clipped
void clipplane(index, mode, params)
long index, mode;
index expects an integer in the range 0 through 5, indicating which of
the 6 clipping planes is being modified.
mode expects one of three tokens:
CP_DEFINE: use the plane equation passed in params to define a
clipplane. The clipplane is neither enabled nor disabled.
CP_ON: enable the (previously defined) clipplane.
CP_OFF: disable the clipplane. (default)
params expects an array of 4 floats that specify a plane equation. A
plane equation is usually thought of as a 4-vector [A,B,C,D].
In this case, A is the first component of the params array, and
D is the last. A 4-component vertex array (see v4f) can be
passed as a plane equation, where vertex X becomes A, Y becomes
B, etc. The specified contents of params are insignificant when
mode is CP_ON, or CP_OFF.
Geometry is always clipped against the boundaries of a 6-plane frustum in
x, y, and z. clipplane allows the specification of additional planes, not
necessarily perpendicular to the x, y, or z axes, against which all
geometry is clipped. Up to 6 additional planes can be specified.
Because the resulting clipping region is always the intersection of the
(up to) 12 half-spaces, it is always convex.
clipplane specifies a half-space using a 4-component plane equation.
When it is called with mode CP_DEFINE, this object-coordinate plane
equation is transformed to eye-coordinates using the inverse of the
current ModelView matrix.
A defined clipplane is then enabled by calling clipplane with the CP_ON
argument, and with arbitrary values passed in params. While drawing
after a clipplane has been defined and enabled, each vertex is
transformed to eye-coordinates, where it is dotted with the transformed
clipping plane equation. Eye-coordinate vertexes whose dot product with
the transformed clipping plane equation is positive or zero are in, and
require no clipping. Those eye-coordinate vertexes whose dot product is
negative are clipped. Because clipplane clipping is done in eyecoordinates,
changes to the projection matrix have no effect on its
By default all six clipping planes are undefined and disabled. The
behavior of an enabled but undefined clipplane is undefined.
IRIS-4D models G, GT, and GTX, and the Personal Iris, do not implement
clipplane. Use getgdesc to determine whether user-defined clipping
planes are supported.
clipplane cannot be used while mmode is MSINGLE.
A point and a normal are converted to a plane equation in the following
point = [Px,Py,Pz]
normal = |Nx|
plane equation = |A|
A = Nx
B = Ny
C = Nz
D = -[Px,Py,Pz] dot |Nx|
On Impact and Infinite Reality clipplane cannot be used with depthcue
PPPPaaaaggggeeee 2222 [ Back ]