#include "types.h"
+#define XRES 320
+#define YRES 200
+
struct g3d_vertex {
- int32_t x, y, z;
+ int32_t x, y, z, w;
};
enum {
G3D_POINTS,
G3D_LINES,
- G3D_TRIANGLES
+ G3D_TRIANGLES,
+ G3D_QUADS
};
+extern unsigned char *g3d_fbpixels;
+extern int g3d_width, g3d_height;
+extern int g3d_curcidx;
+
+
int g3d_init(void);
void g3d_shutdown(void);
-void g3d_framebuf(int width, int height, void *fb);
+void g3d_framebuffer(int width, int height, void *fb);
void g3d_modelview(const int32_t *m);
void g3d_projection(const int32_t *m);
void g3d_xform(struct g3d_vertex *v, const int32_t *m);
+void g3d_color(int cidx);
+
void g3d_draw(int prim, struct g3d_vertex *varr, int vcount);
+void g3d_draw_prim(int prim, struct g3d_vertex *varr);
+
+/* defined in polyfill.asm */
+void g3d_polyfill(struct g3d_vertex *verts);
#endif /* GFX3D_H_ */