#ifndef SCENE_H #define SCENE_H #include "aliases.h" #include "vector/vec.h" #include "window/window.h" typedef struct { f32 radius; vec3f_t centre; colour_t colour; f32 specular; f32 reflective; } sphere_t; typedef enum { LIGHT_TYPE_POINT, LIGHT_TYPE_DIRECTIONAL, LIGHT_TYPE_AMBIENT, COUNT_LIGHT_TYPE, } light_type_t; typedef struct { light_type_t type; f32 intensity; union { vec3f_t position; vec3f_t direction; }; } light_t; typedef struct { const sphere_t *spheres; const light_t *lights; u32 spheres_count; u32 lights_count; } scene_t; const scene_t *build_test_scene(void); #endif // !SCENE_H