gl_wtriangle(3)        Svgalib User Manual        gl_wtriangle(3)

NAME
       gl_wtriangle - draw a shadowed pixmap mapped on a triangle

SYNOPSIS
       #include <triangle.h>

       typedef struct {
           unsigned char *bitmap1;
           unsigned char *bitmap2;
           int bf;
       } TD_tridata;

       void gl_wtriangle(int x0, int y0, int xd0, int yd0, int z0
       ,  int  x1, int y1, int xd1, int yd1, int z1 , int x2, int
       y2, int xd2, int yd2, int z2, TD_tridata *tri);

DESCRIPTION
       Draws a triangle at points 0, 1, 2 by mapping the  pixmaps
       defined in the TD_triangle structure into the triangle.

       The  xd and yd values represent the triangle on the bitmap
       and the x and y  values  represent  the  triangle  on  the
       screen.  The  z values represent an additional value which
       will be added to the color that  is  looked  up  from  the
       pixmap  data.  Once  again, if the current context is more
       than 8 bits then the result is interpreted as an index  to
       the same lookup table. See gl_triangle(3) for more details
       on shadowing.

       gl_wtriangle is used to draw wrapped surfaces with shadow-
       ing  interpolation.  The function gl_swtriangle(3) does it
       without shadowing.

       bitmap1 defines the back side of the triangle, bitmap2 the
       front.

       The bf value is used to tell the routine to draw the back-
       side if it is facing the other way.  bf  tells  which  way
       the triangle should be facing to show the front, since you
       will more than likely require both combinations.

       bf = 2 defines the back to be drawn when  the  points  are
       arranged  clockwise,  bf  = 3 defines the back to be drawn
       when the points are arranged counter clockwise,  bf  =  -1
       will probably always draw the front.

       Beware,  these  functions  are  not  a  direct part of the
       svgalib library.  Instead their source is part of  svgalib
       and  can  be  found  in the threeDkit/ subdirectory of the
       original  svgalib  distribution.  However,   it   is   not
       installed  in  the  system  by default, s.t. it is unclear
       where you can find it if your  svgalib  was  installed  by
       some linux distribution.

       In case of any such problem, simply get an svgalib distri-
       bution from the net. Yo don't need  to  install  it.  Just
       make  in  the threeDkit/ subdirectory. As of this writing,
       svgalib-1.2.12.tar.gz is the latest  version  and  can  be
       retrieved     by     ftp     from    sunsite.unc.edu    at
       /pub/Linux/libs/graphics     and     tsx-11.mit.edu     at
       /pub/linux/sources/libs  which  will most probably be mir-
       rored by a site close to you.

       The functions are defined in the tri.o and triangl.o files
       (or  their resp. sources) which you must link to your pro-
       gram.

SEE ALSO
       vgagl(7),   svgalib(7),   threedkit(7),   gl_striangle(3),
       gl_swtriangle(3), gl_triangle(3), gl_trigetcolorlookup(3),
       gl_trisetcolorlookup(3), gl_trisetdrawpoint(3),  plane(6),
       wrapdemo(6).

AUTHOR
       This manual page was edited by Michael Weller <eowmob@exp-
       math.uni-essen.de>. The demos, the  initial  documentation
       and  the  whole  threedkit  stuff  was  done by Paul Sheer
       <psheer@icon.co.za>.

       Paper mail:
              Paul Sheer
              P O BOX 890507
              Lyndhurst
              Johannesburg 2106
              South Africa

       Donations (by check or postal order) will  be  appreciated
       and  will  encourage further development of this software.
       However this is strictly on a voluntary basis  where  this
       software  falls  under  the  GNU  LIBRARY  GENERAL  PUBLIC
       LICENSE.

Svgalib (>= 1.2.11)         2 Aug 1997                          1