view3d

annotate src/scene.h @ 1:7650e941805c

forgot two files
author John Tsiombikas <nuclear@mutantstargoat.com>
date Thu, 19 Jan 2012 00:17:49 +0200
parents
children 7e982a61852a
rev   line source
nuclear@1 1 #ifndef SCENE_H_
nuclear@1 2 #define SCENE_H_
nuclear@1 3
nuclear@1 4 struct aabb {
nuclear@1 5 float min[3], max[3];
nuclear@1 6 };
nuclear@1 7
nuclear@1 8 struct material {
nuclear@1 9 float kd[4];
nuclear@1 10 float ks[4];
nuclear@1 11 float shin;
nuclear@1 12 unsigned int tex;
nuclear@1 13 };
nuclear@1 14
nuclear@1 15 struct mesh {
nuclear@1 16 unsigned int vert_buf, norm_buf, tex_buf, idx_buf;
nuclear@1 17 int num_verts, num_faces;
nuclear@1 18
nuclear@1 19 struct material mat;
nuclear@1 20
nuclear@1 21 struct aabb bbox;
nuclear@1 22
nuclear@1 23 struct mesh *next;
nuclear@1 24 };
nuclear@1 25
nuclear@1 26 struct light {
nuclear@1 27 float pos[4];
nuclear@1 28 float color[4];
nuclear@1 29
nuclear@1 30 struct light *next;
nuclear@1 31 };
nuclear@1 32
nuclear@1 33 struct scene {
nuclear@1 34 struct mesh *meshes;
nuclear@1 35 struct light *lights;
nuclear@1 36
nuclear@1 37 struct aabb bbox;
nuclear@1 38 };
nuclear@1 39
nuclear@1 40
nuclear@1 41 int load_scene(struct scene *scn, const char *fname);
nuclear@1 42
nuclear@1 43 void render_scene(struct scene *scn);
nuclear@1 44 void render_mesh(struct mesh *m);
nuclear@1 45
nuclear@1 46 #endif /* SCENE_H_ */