|
|
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.