foo
[regis] / x3d.h
1 #ifndef X3D_H_
2 #define X3D_H_
3
4 #include <stdint.h>
5
6 enum {
7         X3D_POINTS = 1,
8         X3D_LINES = 2,
9         X3D_TRIANGLES = 3,
10         X3D_QUADS = 4
11 };
12
13 void x3d_projection(int fov, int32_t aspect, int32_t nearz, int32_t farz);
14
15 int x3d_push_matrix(void);
16 int x3d_pop_matrix(void);
17 void x3d_load_matrix(int32_t *m);
18 void x3d_mult_matrix(int32_t *m);
19 void x3d_load_identity(void);
20 void x3d_translate(int32_t x, int32_t y, int32_t z);
21 void x3d_rotate(int32_t angle, int32_t x, int32_t y, int32_t z);
22 void x3d_scale(int32_t x, int32_t y, int32_t z);
23
24 void x3d_vertex_array(int count, const int32_t *ptr);
25
26 int x3d_draw(int prim, int vnum);
27 int x3d_draw_indexed(int prim, int count, uint16_t *ptr);
28
29 void x3d_begin(int mode);
30 void x3d_end(void);
31
32 void x3d_vertex(int32_t x, int32_t y, int32_t z);
33 void x3d_color_index(int cidx);
34
35 #endif  /* X3D_H_ */