X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=src%2Fmesh.h;fp=src%2Fmesh.h;h=eb0256dd11ea79978976e12c926b3aa9b4816482;hp=704c492bdc37026d0aec6a1228d13da9698d6196;hb=1883deae4194ed84395bfb1102555b803a4f28e2;hpb=8001fafbf699a4048046d4393377e3ec83480b95 diff --git a/src/mesh.h b/src/mesh.h index 704c492..eb0256d 100644 --- a/src/mesh.h +++ b/src/mesh.h @@ -6,11 +6,12 @@ struct g3d_mesh { int prim; struct g3d_vertex *varr; - int16_t *iarr; + uint16_t *iarr; int vcount, icount; }; int load_mesh(struct g3d_mesh *mesh, const char *fname); +int save_mesh(struct g3d_mesh *mesh, const char *fname); void zsort_mesh(struct g3d_mesh *mesh); void draw_mesh(struct g3d_mesh *mesh); @@ -19,6 +20,8 @@ void apply_mesh_xform(struct g3d_mesh *mesh, const float *xform); int append_mesh(struct g3d_mesh *ma, struct g3d_mesh *mb); int indexify_mesh(struct g3d_mesh *mesh); +void normalize_mesh_normals(struct g3d_mesh *mesh); + int gen_plane_mesh(struct g3d_mesh *mesh, float width, float height, int usub, int vsub); int gen_cube_mesh(struct g3d_mesh *mesh, float sz, int sub); int gen_torus_mesh(struct g3d_mesh *mesh, float rad, float ringrad, int usub, int vsub);