clipplane(3G) clipplane(3G)
clipplane  specify a plane against which all geometry is clipped
void clipplane(index, mode, params)
long index, mode;
float params[];
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 4vector [A,B,C,D].
In this case, A is the first component of the params array, and
D is the last. A 4component 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 6plane 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 halfspaces, it is always convex.
clipplane specifies a halfspace using a 4component plane equation.
When it is called with mode CP_DEFINE, this objectcoordinate plane
equation is transformed to eyecoordinates 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 eyecoordinates, where it is dotted with the transformed
clipping plane equation. Eyecoordinate vertexes whose dot product with
the transformed clipping plane equation is positive or zero are in, and
require no clipping. Those eyecoordinate 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
operation.
Page 1
clipplane(3G) clipplane(3G)
By default all six clipping planes are undefined and disabled. The
behavior of an enabled but undefined clipplane is undefined.
IRIS4D models G, GT, and GTX, and the Personal Iris, do not implement
clipplane. Use getgdesc to determine whether userdefined 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
manner:
point = [Px,Py,Pz]
normal = Nx
Ny
Nz
plane equation = A
B
C
D
A = Nx
B = Ny
C = Nz
D = [Px,Py,Pz] dot Nx
Ny
Nz
On Impact and Infinite Reality clipplane cannot be used with depthcue
PPPPaaaaggggeeee 2222 [ Back ]
