view3d
annotate src/scene.h @ 11:1a3799ff443a
merged fullscreen and minor edit
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Tue, 04 Sep 2012 05:11:13 +0300 |
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_ */ |