X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=src%2Fpolyfill.h;h=b52b5de1f5af8eea2ddb14dd25a3dbafdc3b5d7b;hp=7c12732a80b2b90cdcab332ce0dc1a020ececdc1;hb=1fc50fb52faab54b3d5e160d3765d866c6cf173a;hpb=633743214adddf6ec20f8b1bee1782e6966023af diff --git a/src/polyfill.h b/src/polyfill.h index 7c12732..b52b5de 100644 --- a/src/polyfill.h +++ b/src/polyfill.h @@ -15,11 +15,25 @@ enum { struct pvertex { int32_t x, y; /* 24.8 fixed point */ int32_t u, v; /* 16.16 fixed point */ - unsigned char r, g, b; + int32_t r, g, b, a; /* int 0-255 */ }; +struct pimage { + uint16_t *pixels; + int width, height; + + int xshift, yshift; + unsigned int xmask, ymask; +}; + +extern struct pimage pfill_fb; +extern struct pimage pfill_tex; + void polyfill(int mode, struct pvertex *verts, int nverts); void polyfill_wire(struct pvertex *verts, int nverts); void polyfill_flat(struct pvertex *verts, int nverts); +void polyfill_gouraud(struct pvertex *verts, int nverts); +void polyfill_tex(struct pvertex *verts, int nverts); +void polyfill_tex_gouraud(struct pvertex *verts, int nverts); #endif /* POLYFILL_H_ */