]> Dogcows Code - chaz/rasterize/blob - scene.hh
finishing fifth project
[chaz/rasterize] / scene.hh
1
2 /*
3 * CS5600 University of Utah
4 * Charles McGarvey
5 * mcgarvey@eng.utah.edu
6 */
7
8 #ifndef _SCENE_HH_
9 #define _SCENE_HH_
10
11 #include "list.hh"
12 #include "raster.hh"
13
14
15 /*
16 * A scene class.
17 */
18 typedef struct scene scene_t;
19
20 /*
21 * Allocate a scene by reading in data from a file.
22 */
23 scene_t* scene_alloc(FILE* file);
24
25 /*
26 * Destroy a scene.
27 */
28 void scene_destroy(scene_t* s);
29
30
31 /*
32 * Get the elements of a scene.
33 */
34 list_t* scene_elements(const scene_t* s);
35
36 /*
37 * Get the lights of a scene.
38 */
39 list_t* scene_lights(const scene_t* s);
40
41 /*
42 * Get the ambient light color of the scene.
43 */
44 color_t scene_ambient(const scene_t* s);
45
46
47 /*
48 * Render a scene to an in-memory raster. The caller takes ownership of the
49 * returned object and must destroy it when it is no longer needed.
50 */
51 raster_t* scene_render(const scene_t* s);
52
53
54 #endif // _SCENE_HH_
55
This page took 0.033833 seconds and 4 git commands to generate.