rayzor

annotate src/m3dimpl.h @ 6:a68dbf80d547

finally showing something ... :)
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 07 Apr 2014 06:04:11 +0300
parents 5fcf72837b69
children 70e332156d02
rev   line source
nuclear@1 1 #ifndef M3DIMPL_H_
nuclear@1 2 #define M3DIMPL_H_
nuclear@1 3
nuclear@1 4 #include "min3d.h"
nuclear@1 5
nuclear@1 6 #define MSTACK_SIZE 16
nuclear@1 7
nuclear@1 8 struct min3d_mstack {
nuclear@1 9 float m[MSTACK_SIZE][16];
nuclear@1 10 int top;
nuclear@1 11 };
nuclear@1 12
nuclear@2 13 struct min3d_vertex {
nuclear@2 14 float pos[4];
nuclear@2 15 float color[4];
nuclear@2 16 float normal[4];
nuclear@2 17 float tex[2];
nuclear@2 18 };
nuclear@2 19
nuclear@6 20 #define IM_VBSIZE 4
nuclear@6 21
nuclear@1 22 struct min3d_context {
nuclear@1 23 struct m3d_image *cbuf;
nuclear@1 24 uint16_t *zbuf;
nuclear@1 25
nuclear@1 26 unsigned long state;
nuclear@6 27 int clear_color[3];
nuclear@1 28
nuclear@1 29 int mmode; /* matrix mode */
nuclear@1 30 struct min3d_mstack mstack[2];
nuclear@5 31
nuclear@6 32 int vport[4];
nuclear@6 33
nuclear@6 34 float *vert_array;
nuclear@6 35 float *norm_array;
nuclear@6 36 float *col_array;
nuclear@6 37 float *tc_array;
nuclear@5 38
nuclear@5 39 /* immediate mode state */
nuclear@6 40 float im_varr[IM_VBSIZE * 3];
nuclear@6 41 float im_narr[IM_VBSIZE * 3];
nuclear@6 42 float im_carr[IM_VBSIZE * 3];
nuclear@6 43 float im_tarr[IM_VBSIZE * 2];
nuclear@6 44
nuclear@6 45 int im_prim, im_idx;
nuclear@6 46 float im_color[4];
nuclear@6 47 float im_normal[3];
nuclear@6 48 float im_texcoord[2];
nuclear@3 49 };
nuclear@3 50
nuclear@3 51 extern struct min3d_context *m3dctx;
nuclear@3 52
nuclear@3 53 void draw_point(struct min3d_vertex *v);
nuclear@3 54 void draw_line(struct min3d_vertex *v);
nuclear@3 55 void draw_poly(struct min3d_vertex *v, int numv);
nuclear@1 56
nuclear@1 57 #endif /* M3DIMPL_H_ */