clip3d_f(3alleg4) Allegro manual clip3d_f(3alleg4)
NAME
clip3d_f - Clips the polygon given in vtx using floating point math,
Allegro game programming library.
SYNOPSIS
**#include <allegro.h>**
**int clip3d_f(int type, float min_z, float max_z, int vc, const V3D_f**
***vtx[], V3D_f *vout[], V3D_f *vtmp[], int out[]);**
DESCRIPTION
Clips the polygon given in `vtx'. The number of vertices is `vc', the
result goes in `vout', and `vtmp' and `out' are needed for internal
purposes. The pointers in `vtx', `vout' and `vtmp' must point to valid
V3D_f structures.
As additional vertices may appear in the process of clipping, so the size
of `vout', `vtmp' and `out' should be at least vc * (1.5 ^ n), where `n'
is the number of clipping planes (5 or 6), and `^' denotes "to the power
of".
The frustum (viewing volume) is defined by -z<x<z, -z<y<z,
0<min_z<z<max_z. If max_z<=min_z, the z<max_z clipping is not done. As
you can see, clipping is done in the camera space, with perspective in
mind, so this routine should be called after you apply the camera matrix,
but before the perspective projection. The routine will correctly
interpolate u, v, and c in the vertex structure. However, no provision is
made for high/truecolor GCOL.
RETURN VALUE
Returns the number of vertices after clipping is done.
SEE ALSO
**polygon3d**(3alleg4), **clip3d**(3alleg4), **excamera**(3alleg4), **exscn3d**(3alleg4)
Allegro version 4.4.3 clip3d_f(3alleg4)