- added mesh operations: apply_mesh_xform, append_mesh, indexify_mesh (untested)...
[dosdemo] / src / mesh.h
1 #ifndef MESH_H_
2 #define MESH_H_
3
4 #include "inttypes.h"
5
6 struct g3d_mesh {
7         int prim;
8         struct g3d_vertex *varr;
9         int16_t *iarr;
10         int vcount, icount;
11 };
12
13 int load_mesh(struct g3d_mesh *mesh, const char *fname);
14
15 void zsort_mesh(struct g3d_mesh *mesh);
16 void draw_mesh(struct g3d_mesh *mesh);
17
18 void apply_mesh_xform(struct g3d_mesh *mesh, const float *xform);
19 int append_mesh(struct g3d_mesh *ma, struct g3d_mesh *mb);
20 int indexify_mesh(struct g3d_mesh *mesh);
21
22 int gen_plane_mesh(struct g3d_mesh *mesh, float width, float height, int usub, int vsub);
23 int gen_cube_mesh(struct g3d_mesh *mesh, float sz, int sub);
24 int gen_torus_mesh(struct g3d_mesh *mesh, float rad, float ringrad, int usub, int vsub);
25
26 #endif  /* MESH_H_ */