#ifndef SCENE_HPP #define SCENE_HPP #include "model_instance.hpp" #include "renderable.hpp" #include "vector.hpp" #include #include class Scene { public: usu::vector> renderables; std::tuple viewport_dimension; // std::tuple scene_dimension; VECTOR directional_light; FIXED z_plane; Scene(); POINT project_2d(VECTOR vertex); POINT viewport_to_scene(POINT p); void draw_line(POINT p0, POINT p1, std::uint8_t pal_idx); static inline void render(std::shared_ptr scene_ctx) { for (std::shared_ptr renderable : scene_ctx->renderables) renderable->render(scene_ctx); } }; #endif // SCENE_HPP