#ifndef CLIENT_RENDER_CAMERA_HH_ #define CLIENT_RENDER_CAMERA_HH_ #include #include #include #include #include "client/render/render.hh" namespace client { namespace render { namespace camera { // Call update after modifying references to camera objects. void update() noexcept; // modifying float& get_xfov() noexcept; glm::vec3& get_pos() noexcept; glm::vec3& get_front() noexcept; glm::vec3& get_up() noexcept; glm::mat4& get_view() noexcept; glm::mat4& get_proj() noexcept; using frustum = std::array; frustum& get_frustum() noexcept; float& get_znear() noexcept; float& get_zfar() noexcept; // non-modifying float get_yfov() noexcept; } // namespace camera } // namespace render } // namespace client #endif