7 #define POLYFILL_MODE_MASK 0x03
8 #define POLYFILL_TEX_BIT 0x04
9 #define POLYFILL_ALPHA_BIT 0x08
10 #define POLYFILL_ADD_BIT 0x10
17 POLYFILL_TEX_WIRE = 4,
21 POLYFILL_ALPHA_WIRE = 8,
23 POLYFILL_ALPHA_GOURAUD,
25 POLYFILL_ALPHA_TEX_WIRE = 12,
26 POLYFILL_ALPHA_TEX_FLAT,
27 POLYFILL_ALPHA_TEX_GOURAUD,
29 POLYFILL_ADD_WIRE = 16,
33 POLYFILL_ADD_TEX_WIRE = 20,
34 POLYFILL_ADD_TEX_FLAT,
35 POLYFILL_ADD_TEX_GOURAUD
38 /* projected vertices for the rasterizer */
40 int32_t x, y; /* 24.8 fixed point */
41 int32_t u, v; /* 16.16 fixed point */
42 int32_t r, g, b, a; /* int 0-255 */
50 unsigned int xmask, ymask;
53 extern struct pimage pfill_fb;
54 extern struct pimage pfill_tex;
56 void polyfill_fbheight(int height);
58 void polyfill(int mode, struct pvertex *verts, int nverts);
60 void polyfill_wire(struct pvertex *verts, int nverts);
61 void polyfill_flat(struct pvertex *verts, int nverts);
62 void polyfill_gouraud(struct pvertex *verts, int nverts);
63 void polyfill_tex_wire(struct pvertex *verts, int nverts);
64 void polyfill_tex_flat(struct pvertex *verts, int nverts);
65 void polyfill_tex_gouraud(struct pvertex *verts, int nverts);
66 void polyfill_alpha_wire(struct pvertex *verts, int nverts);
67 void polyfill_alpha_flat(struct pvertex *verts, int nverts);
68 void polyfill_alpha_gouraud(struct pvertex *verts, int nverts);
69 void polyfill_alpha_tex_wire(struct pvertex *verts, int nverts);
70 void polyfill_alpha_tex_flat(struct pvertex *verts, int nverts);
71 void polyfill_alpha_tex_gouraud(struct pvertex *verts, int nverts);
72 void polyfill_add_wire(struct pvertex *verts, int nverts);
73 void polyfill_add_flat(struct pvertex *verts, int nverts);
74 void polyfill_add_gouraud(struct pvertex *verts, int nverts);
75 void polyfill_add_tex_wire(struct pvertex *verts, int nverts);
76 void polyfill_add_tex_flat(struct pvertex *verts, int nverts);
77 void polyfill_add_tex_gouraud(struct pvertex *verts, int nverts);
79 #endif /* POLYFILL_H_ */