#ifndef _SCENE_H #define _SCENE_H #include "object.h" namespace Mauri { struct Camera { vec3 center; vec3 eye; vec3 up; vec2 offset = vec2(0.f); }; class Scene { public: Scene() = default; ~Scene(); Parser parser; Camera cam; s32 width; s32 height; f32 nearz; f32 farz; bool clear_enabled; vec4 clear_color; static auto parse(const std::string &path) -> Scene *; auto offset_camera(s32 x, s32 y) -> void; auto get_object_by_id(u32 id) -> Object *; auto load(Engine *engine) -> void; auto draw(Engine *engine) -> void; std::vector objects; }; } // namespace Mauri #endif // _SCENE_H