|
|
1.1 root 1: #define ONE 16384 /* guarantee no overflow in xformp */
2: typedef short fract; /* fixed point scaled by ONE */
3: typedef fract matrix[4][4];
4: typedef short coord[4];
5: typedef unsigned short angle;
6: class Hcoord
7: {
8: public:
9: fract x, y, z, w;
10: Hcoord(fract a, fract b, fract c, fract d) {x=a; y=b; z=c; w=d;}
11: };
12: struct Hcoordl{
13: long x, y, z, w;
14: };
15: #define PI (angle)32768
16: #define mkangle(x) cvtangle[x]
17: extern angle cvtangle[];
18: fract isin(fract), icos(fract);
19: long isqrt(long);
20: #define XAXIS 0
21: #define YAXIS 1
22: #define ZAXIS 2
23: long dot(Hcoord, Hcoord);
24: Hcoord cross(Hcoord, Hcoord);
25: Hcoordl xformp(Hcoord);
26: extern Hcoord unitize(Hcoord);
27: extern Bitmap *viewport;
28: void init3(Bitmap *, short, short);
29: void push3(), pop3(), rot3(short, short);
30: extern clip3scale;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.