#pragma once #include namespace ACGL{ namespace Scene{ /** * @brief Common interface for cameras */ class CameraBase { protected: CameraBase(); public: virtual ~CameraBase(); // interface: virtual glm::vec3 getPosition() const = 0; virtual glm::mat4 getViewMatrix() const = 0; virtual glm::mat4 getProjectionMatrix() const = 0; virtual glm::uvec2 getViewportSize() const = 0; }; } }