diff options
| author | Rebellion Developments <rebellion@nomail> | 2000-03-16 11:25:00 +0100 |
|---|---|---|
| committer | Patryk Obara <dreamer.tan@gmail.com> | 2019-08-19 05:45:17 +0200 |
| commit | 218ca90543758a20ac326e444ca0643174ca7384 (patch) | |
| tree | 16bfe3e5307f9f515489000f28728224291a0e3b /3dc/frustrum.h | |
Import Aliens vs Predator - Gold (Build 116)
Source code release, imported from:
https://www.gamefront.com/games/aliens-vs-predator-3/file/avp-gold-complete-source-code
All text files were converted to Unix format.
Diffstat (limited to '3dc/frustrum.h')
| -rw-r--r-- | 3dc/frustrum.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/3dc/frustrum.h b/3dc/frustrum.h new file mode 100644 index 0000000..faf7795 --- /dev/null +++ b/3dc/frustrum.h @@ -0,0 +1,68 @@ +#ifndef _frustrum_h_ /* Is this your first time? */ +#define _frustrum_h_ 1 + +#include "kshape.h" +/* + * KJL 15:13:43 7/17/97 - frustrum.h + * + * function prototypes & pointers for things connected + * to the view frustrum and clipping + * + */ + +enum FrustrumType +{ + FRUSTRUM_TYPE_NORMAL, + FRUSTRUM_TYPE_WIDE +}; + +extern void SetFrustrumType(enum FrustrumType frustrumType); + +/* GOURAUD POLYGON CLIPPING */ +extern void GouraudPolygon_ClipWithZ(void); +extern void (*GouraudPolygon_ClipWithNegativeX)(void); +extern void (*GouraudPolygon_ClipWithPositiveY)(void); +extern void (*GouraudPolygon_ClipWithNegativeY)(void); +extern void (*GouraudPolygon_ClipWithPositiveX)(void); + +/* TEXTURED POLYGON CLIPPING */ +extern void TexturedPolygon_ClipWithZ(void); +extern void (*TexturedPolygon_ClipWithNegativeX)(void); +extern void (*TexturedPolygon_ClipWithPositiveY)(void); +extern void (*TexturedPolygon_ClipWithNegativeY)(void); +extern void (*TexturedPolygon_ClipWithPositiveX)(void); + +/* GOURAUD TEXTURED POLYGON CLIPPING */ +extern void GouraudTexturedPolygon_ClipWithZ(void); +extern void (*GouraudTexturedPolygon_ClipWithNegativeX)(void); +extern void (*GouraudTexturedPolygon_ClipWithPositiveY)(void); +extern void (*GouraudTexturedPolygon_ClipWithNegativeY)(void); +extern void (*GouraudTexturedPolygon_ClipWithPositiveX)(void); + +/* FRUSTRUM TESTS */ +extern int PolygonWithinFrustrum(POLYHEADER *polyPtr); +extern int PolygonShouldBeDrawn(POLYHEADER *polyPtr); +extern int (*ObjectWithinFrustrum)(DISPLAYBLOCK *dbPtr); +extern int (*ObjectCompletelyWithinFrustrum)(DISPLAYBLOCK *dbPtr); +extern int (*VertexWithinFrustrum)(RENDERVERTEX *vertexPtr); +extern void (*TestVerticesWithFrustrum)(void); + +extern int DecalWithinFrustrum(DECAL *decalPtr); +extern int QuadWithinFrustrum(void); +extern int TriangleWithinFrustrum(void); + + +/* pass a pointer to a vertex to be tested; results are returned in an int, +using the following defines */ +#define INSIDE_FRUSTRUM_Z_PLANE 1 +#define INSIDE_FRUSTRUM_PX_PLANE 2 +#define INSIDE_FRUSTRUM_NX_PLANE 4 +#define INSIDE_FRUSTRUM_PY_PLANE 8 +#define INSIDE_FRUSTRUM_NY_PLANE 16 +#define INSIDE_FRUSTRUM 31 + +extern char FrustrumFlagForVertex[maxrotpts]; + +#define USE_FOV_53 0 + +#endif |
