view3d
annotate src/scene.h @ 4:0aee5df08cfc
fixed some shit
author | John Tsiombikas <nuclear@mutantstargoat.com> |
---|---|
date | Thu, 19 Jan 2012 07:03:47 +0200 |
parents | 7650e941805c |
children | 5562a637e5aa |
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@1 | 45 int load_scene(struct scene *scn, const char *fname); |
nuclear@1 | 46 |
nuclear@1 | 47 void render_scene(struct scene *scn); |
nuclear@3 | 48 void render_mesh(struct mesh *m, int pass); |
nuclear@1 | 49 |
nuclear@1 | 50 #endif /* SCENE_H_ */ |