Program Listing for File PerspectiveCamera.hpp

↰ Return to documentation for file (engine/include/Cacao/PerspectiveCamera.hpp)

#pragma once

#include "Camera.hpp"
#include "DllHelper.hpp"

#include "glm/glm.hpp"
#include "glm/gtc/quaternion.hpp"

namespace Cacao {
    class CACAO_API PerspectiveCamera : public Camera {
      public:
        PerspectiveCamera(float fov = 60);

        float GetFOV() const {
            return fov;
        }

        void SetFOV(float newFov) {
            fov = newFov;
            RecalculateProjectionMatrix();
        }

      protected:
        float fov;
        void RecalculateProjectionMatrix() override;
    };
}