Man Linux: Main Page and Category List

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(3alleg), clip3d(3alleg), excamera(3alleg), exscn3d(3alleg)