goat3d
diff src/goat3d.cc @ 64:99715321ad6d
merged
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Thu, 17 Apr 2014 08:53:42 +0300 |
parents | dad392c710df 76d0f55f9d5f |
children | 8970ca3d55e0 |
line diff
1.1 --- a/src/goat3d.cc Thu Apr 17 08:50:36 2014 +0300 1.2 +++ b/src/goat3d.cc Thu Apr 17 08:53:42 2014 +0300 1.3 @@ -179,14 +179,14 @@ 1.4 return res; 1.5 } 1.6 1.7 -GOAT3DAPI int goat3d_save_anim(const struct goat3d *g, const struct goat3d_node *root, const char *fname) 1.8 +GOAT3DAPI int goat3d_save_anim(const struct goat3d *g, const char *fname) 1.9 { 1.10 FILE *fp = fopen(fname, "wb"); 1.11 if(!fp) { 1.12 return -1; 1.13 } 1.14 1.15 - int res = goat3d_save_anim_file(g, root, fp); 1.16 + int res = goat3d_save_anim_file(g, fp); 1.17 fclose(fp); 1.18 return res; 1.19 } 1.20 @@ -202,7 +202,7 @@ 1.21 return goat3d_load_anim_io(g, &io); 1.22 } 1.23 1.24 -GOAT3DAPI int goat3d_save_anim_file(const struct goat3d *g, const struct goat3d_node *root, FILE *fp) 1.25 +GOAT3DAPI int goat3d_save_anim_file(const struct goat3d *g, FILE *fp) 1.26 { 1.27 goat3d_io io; 1.28 io.cls = fp; 1.29 @@ -210,7 +210,7 @@ 1.30 io.write = write_file; 1.31 io.seek = seek_file; 1.32 1.33 - return goat3d_save_anim_io(g, root, &io); 1.34 + return goat3d_save_anim_io(g, &io); 1.35 } 1.36 1.37 GOAT3DAPI int goat3d_load_anim_io(struct goat3d *g, struct goat3d_io *io) 1.38 @@ -223,12 +223,12 @@ 1.39 return 0; 1.40 } 1.41 1.42 -GOAT3DAPI int goat3d_save_anim_io(const struct goat3d *g, const struct goat3d_node *root, struct goat3d_io *io) 1.43 +GOAT3DAPI int goat3d_save_anim_io(const struct goat3d *g, struct goat3d_io *io) 1.44 { 1.45 if(goat3d_getopt(g, GOAT3D_OPT_SAVEXML)) { 1.46 - return g->scn->save_anim_xml(root, io) ? 0 : -1; 1.47 + return g->scn->save_anim_xml(io) ? 0 : -1; 1.48 } 1.49 - return g->scn->save_anim(root, io) ? 0 : -1; 1.50 + return g->scn->save_anim(io) ? 0 : -1; 1.51 } 1.52 1.53 1.54 @@ -264,6 +264,21 @@ 1.55 g->scn->add_material(mtl); 1.56 } 1.57 1.58 +GOAT3DAPI int goat3d_get_mtl_count(struct goat3d *g) 1.59 +{ 1.60 + return g->scn->get_material_count(); 1.61 +} 1.62 + 1.63 +GOAT3DAPI struct goat3d_material *goat3d_get_mtl(struct goat3d *g, int idx) 1.64 +{ 1.65 + return (goat3d_material*)g->scn->get_material(idx); 1.66 +} 1.67 + 1.68 +GOAT3DAPI struct goat3d_material *goat3d_get_mtl_by_name(struct goat3d *g, const char *name) 1.69 +{ 1.70 + return (goat3d_material*)g->scn->get_material(name); 1.71 +} 1.72 + 1.73 GOAT3DAPI struct goat3d_material *goat3d_create_mtl(void) 1.74 { 1.75 return new goat3d_material; 1.76 @@ -422,6 +437,12 @@ 1.77 goat3d_add_mesh_attrib4f(mesh, attrib, val, 0, 0, 1); 1.78 } 1.79 1.80 +GOAT3DAPI void goat3d_add_mesh_attrib2f(struct goat3d_mesh *mesh, enum goat3d_mesh_attrib attrib, 1.81 + float x, float y) 1.82 +{ 1.83 + goat3d_add_mesh_attrib4f(mesh, attrib, x, y, 0, 1); 1.84 +} 1.85 + 1.86 GOAT3DAPI void goat3d_add_mesh_attrib3f(struct goat3d_mesh *mesh, enum goat3d_mesh_attrib attrib, 1.87 float x, float y, float z) 1.88 {