moved over the polyfiller code and implemented blending
[bootcensus] / src / census / census.c
1 #include <stdlib.h>
2 #include <string.h>
3 #include "census.h"
4 #include "3dgfx.h"
5 #include "panic.h"
6
7 void init_census(void *pixels, int xsz, int ysz)
8 {
9         fb_pixels = pixels;
10         fb_width = xsz;
11         fb_height = ysz;
12
13         g3d_init();
14         g3d_framebuffer(xsz, ysz, fb_pixels);
15         g3d_polygon_mode(G3D_FLAT);
16         g3d_viewport(0, 0, xsz, ysz);
17 }
18
19 void draw_census(void)
20 {
21         int i;
22         memset(fb_pixels, 0, fb_width * fb_height * 4);
23
24         g3d_matrix_mode(G3D_MODELVIEW);
25         g3d_load_identity();
26
27         g3d_enable(G3D_BLEND);
28
29         g3d_color4b(64, 128, 255, 255);
30         for(i=0; i<2; i++) {
31                 g3d_begin(G3D_QUADS);
32                 g3d_vertex(-0.4, -0.5, 0);
33                 g3d_vertex(0.6, -0.2, 0);
34                 g3d_vertex(0, 0.8, 0);
35                 g3d_vertex(-0.5, 0.6, 0);
36                 g3d_end();
37
38                 g3d_translate(0.2, -0.2, 0);
39                 g3d_color4b(255, 32, 255, 128);
40         }
41
42         g3d_disable(G3D_BLEND);
43 }