#ifndef SCENE_H #define SCENE_H #include "Algorithm/BVH.h" #include "Camera.h" #include "Lighting/Light.h" #include "Material/Material.h" #include "Geometry/Triangle.h" #include "Rendering/RenderTarget.h" #include "Rendering/Texture.h" typedef struct { camera_t camera; bvh_tree_t bvh_tree; triangle_collection_t triangles; material_collection_t materials; texture_collection_t textures; light_collection_t lights; } scene_t; bool scene_init(scene_t* scene, uint64_t triangle_count, uint16_t texture_count, uint8_t material_count, uint32_t punctual_light_count); bool scene_build_bvh(scene_t* scene); void scene_free(scene_t* scene); #endif // SCENE_H