tinygi

view src/tinygi.h @ 0:16fdca2a1ef5

initial tinygi commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 19 Jul 2015 18:30:29 +0300
parents
children bc64090fe3d1
line source
1 #ifndef TINYGI_H_
2 #define TINYGI_H_
4 struct tgi_vec3 { float x, y, z; };
6 struct tinygi;
7 struct tgi_object;
8 struct tgi_shape;
10 struct tinygi *tgi_init(void);
11 void tgi_destroy(struct tinygi *tgi);
13 void tgi_clear_scene(struct tinygi *tgi);
14 int tgi_load_scene(struct tinygi *tgi, const char *fname);
15 void tgi_add_object(struct tinygi *tgi, struct tgi_object *o);
16 int tgi_del_object(struct tinygi *tgi, struct tgi_object *o);
18 struct tgi_object *tgi_find_object(struct tinygi *tgi, const char *name);
19 struct tgi_object *tgi_get_object(struct tinygi *tgi, int idx);
20 int tgi_get_object_count(struct tinygi *tgi);
22 /* shapes */
23 struct tgi_shape *tgi_create_sphere(float rad);
24 struct tgi_shape *tgi_create_box(float x0, float y0, float z0, float x1, float y1, float z1);
25 void tgi_destroy_shape(struct tgi_shape *s);
27 /* objects */
28 /* name can be null, in which case it's automatically generated */
29 struct tgi_object *tgi_create_object(const char *name);
30 void tgi_destroy_object(struct tgi_object *o);
31 void tgi_set_object_shape(struct tgi_object *o, struct tgi_shape *s);
32 void tgi_set_object_mtl(struct tgi_object *o, struct tgi_material *m);
34 #endif /* TINYGI_H_ */