view3d

annotate src/scene.h @ 8:5562a637e5aa

load multiple files and concatenate them
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 23 Jan 2012 08:51:59 +0200
parents 7e982a61852a
children
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@3 30 float cone_inner, cone_outer;
nuclear@3 31
nuclear@3 32 float att[3];
nuclear@3 33
nuclear@1 34 struct light *next;
nuclear@1 35 };
nuclear@1 36
nuclear@1 37 struct scene {
nuclear@1 38 struct mesh *meshes;
nuclear@1 39 struct light *lights;
nuclear@1 40
nuclear@1 41 struct aabb bbox;
nuclear@1 42 };
nuclear@1 43
nuclear@1 44
nuclear@8 45 int init_scene(struct scene *scn);
nuclear@1 46 int load_scene(struct scene *scn, const char *fname);
nuclear@1 47
nuclear@1 48 void render_scene(struct scene *scn);
nuclear@3 49 void render_mesh(struct mesh *m, int pass);
nuclear@1 50
nuclear@1 51 #endif /* SCENE_H_ */