charles/src/scene.h

40 lines
624 B
C
Raw Normal View History

/* scene.h
*
* Definition of Scene type and related functions.
*
* Eryn Wells <eryn@erynwells.me>
*/
#ifndef __SCENE_H__
#define __SCENE_H__
#include <stdio.h>
2013-09-07 18:41:33 -07:00
2013-09-06 19:01:15 -07:00
#include "camera.h"
2013-09-07 18:41:33 -07:00
#include "object.h"
2013-09-05 22:57:03 -07:00
2013-09-07 16:10:50 -07:00
typedef struct _ObjectList ObjectList;
typedef struct _Scene
{
int height, width; /* Pixel dimensions. */
2013-09-06 19:01:15 -07:00
Camera *camera;
2013-09-07 16:10:50 -07:00
ObjectList *objects;
int is_rendered;
Color *pixels;
} Scene;
Scene *scene_init();
void scene_destroy(Scene *scene);
void scene_load(Scene *scene, FILE *scene_file);
2013-09-05 22:08:55 -07:00
void scene_render(Scene *scene);
2013-09-07 18:41:33 -07:00
void scene_add_object(Scene *scene, Object *object);
#endif