#include <triangle.h>
typedef struct {
unsigned char * bitmap1 ;
unsigned char * bitmap2 ;
int bf ;
} TD_tridata ;
void gl_swtriangle(int x0 , int y0 , int xd0 , int yd0
, int x1 , int y1 , int xd1 , int yd1
, int x2 , int y2 , int xd2 , int yd2 , int c , TD_tridata * tri );
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.
bitmap1
defines the back side of the triangle,
bitmap2
the front.
The
bf
value is used to tell the routine to draw the backside
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 distribution 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 mirrored 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 program.