diff --git a/main.c b/main.c index 4c975c2..93f98db 100644 --- a/main.c +++ b/main.c @@ -76,10 +76,13 @@ int gs_init(int width, int height, int psm, int psmz, int vmode, int gmode) { return 0; } -static int tri[] = { - 10, 10, 0, - 600, 200, 0, - 20, 400, 0 +static int verts[] = { + 100, 100, 0, + 300, 100, 0, + 100, 300, 0, + 300, 100, 0, + 300, 300, 0, + 100, 300, 0 }; #define SHIFT_AS_I64(x, b) (((uint64_t)x)<dw[0] = 0x7000000000000001; - q->dw[1] = 0x0000000005151510; + q->dw[0] = 0xD000000000000001; + q->dw[1] = 0x0005151515151510; q++; q->dw[0] = GS_PRIM_TRIANGLE; @@ -107,15 +110,15 @@ int draw() { int cx = myftoi4(2048 - (VID_W/2)); int cy = myftoi4(2048 - (VID_H/2)); - for(int i = 0; i < 3; i++){ + for(int i = 0; i < 6; i++){ q->dw[0] = (red&0xff) | (green&0xff)<<32; q->dw[1] = (blue&0xff) | SHIFT_AS_I64(0x80, 32); q++; int base = i*3; - int x = myftoi4(tri[base+0]) + cx; - int y = myftoi4(tri[base+1]) + cy; - int z = myftoi4(tri[base+2]); + int x = myftoi4(verts[base+0]) + cx; + int y = myftoi4(verts[base+1]) + cy; + int z = myftoi4(verts[base+2]); q->dw[0] = x | SHIFT_AS_I64(y, 32); q->dw[1] = z; q++; @@ -148,9 +151,9 @@ int main() { z = malloc(sizeof(zbuffer_t)); while(1) { - tri[0]++; - if(tri[0] > 480) { - tri[0] = 0; + red++; + if(red > 0xFF) { + red = 0; } draw(); graph_wait_vsync();