rayzor

annotate src/m3dimpl.h @ 5:5fcf72837b69

fixed the dosemu bit
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 06 Apr 2014 02:43:24 +0300
parents 9035507275d6
children a68dbf80d547
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@1 20 struct min3d_context {
nuclear@1 21 struct m3d_image *cbuf;
nuclear@1 22 uint16_t *zbuf;
nuclear@1 23
nuclear@1 24 unsigned long state;
nuclear@1 25
nuclear@1 26 int mmode; /* matrix mode */
nuclear@1 27 struct min3d_mstack mstack[2];
nuclear@5 28
nuclear@5 29 const float *vert_array;
nuclear@5 30 const float *norm_array;
nuclear@5 31 const float *col_array;
nuclear@5 32 const float *tc_array;
nuclear@5 33
nuclear@5 34 /* immediate mode state */
nuclear@5 35 float cur_color[4];
nuclear@5 36 float cur_normal[3];
nuclear@5 37 float cur_texcoord[2];
nuclear@3 38 };
nuclear@3 39
nuclear@3 40 extern struct min3d_context *m3dctx;
nuclear@3 41
nuclear@3 42 void draw_point(struct min3d_vertex *v);
nuclear@3 43 void draw_line(struct min3d_vertex *v);
nuclear@3 44 void draw_poly(struct min3d_vertex *v, int numv);
nuclear@1 45
nuclear@1 46 #endif /* M3DIMPL_H_ */