added polygon clipper, not using it yet
[dosdemo] / src / polyclip.h
diff --git a/src/polyclip.h b/src/polyclip.h
new file mode 100644 (file)
index 0000000..c6745e3
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef POLYCLIP_H_
+#define POLYCLIP_H_
+
+#include "3dgfx.h"
+
+struct cplane {
+       float x, y, z;
+       float nx, ny, nz;
+};
+
+/* Polygon clipper
+ * returns:
+ *  1 -> fully inside, not clipped
+ *  0 -> straddling the plane and clipped
+ * -1 -> fully outside, not clipped
+ * in all cases, vertices are copied to vout, and the vertex count is written
+ * to wherever voutnum is pointing
+ */
+int clip_poly(struct g3d_vertex *vout, int *voutnum,
+               const struct g3d_vertex *vin, int vnum, struct cplane *plane);
+
+#endif /* POLYCLIP_H_ */