]> icculus.org git repositories - taylor/freespace2.git/blob - include/3dinternal.h
Initial revision
[taylor/freespace2.git] / include / 3dinternal.h
1 /*
2  * $Logfile: /Freespace2/code/Render/3dInternal.h $
3  * $Revision$
4  * $Date$
5  * $Author$
6  *
7  * Used internally by the 3d renderer lib
8  *
9  * $Log$
10  * Revision 1.1  2002/05/03 03:28:12  root
11  * Initial revision
12  *
13  * 
14  * 2     10/07/98 10:53a Dave
15  * Initial checkin.
16  * 
17  * 1     10/07/98 10:51a Dave
18  * 
19  * 5     3/16/98 4:51p John
20  * Added low-level code to clip all polygons against an arbritary plane.
21  * Took out all old model_interp_zclip and used this new method instead.  
22  * 
23  * 4     4/29/97 9:55a John
24  * 
25  * 3     2/17/97 5:18p John
26  * Added a bunch of RCS headers to a bunch of old files that don't have
27  * them.
28  *
29  * $NoKeywords: $
30  */
31
32 #ifndef _3DINTERNAL_H
33 #define _3DINTERNAL_H
34
35 #include "3d.h"
36
37 extern int Canvas_width,Canvas_height;  //the actual width & height
38 extern float Canv_w2,Canv_h2;                   //fixed-point width,height/2
39
40 extern vector Window_scale;
41 extern int free_point_num;
42
43 extern float View_zoom;
44 extern vector View_position,Matrix_scale;
45 extern matrix View_matrix,Unscaled_matrix;
46
47
48 //vertex buffers for polygon drawing and clipping
49 extern vertex *Vbuf0[];
50 extern vertex *Vbuf1[];
51
52 extern void free_temp_point(vertex *p);
53 extern vertex **clip_polygon(vertex **src,vertex **dest,int *nv,ccodes *cc,uint flags);
54 extern void init_free_points(void);
55 extern void clip_line(vertex **p0,vertex **p1,ubyte codes_or, uint flags);
56
57 extern int G3_count;
58
59 extern int G3_user_clip;
60 extern vector G3_user_clip_normal;
61 extern vector G3_user_clip_point;
62
63 // Returns TRUE if point is behind user plane
64 extern int g3_point_behind_user_plane( vector *pnt );
65
66 #endif
67