// // Created by Orange on 12/4/2024. // #pragma once #include "Constants.hpp" #include "omath/projection/Camera.hpp" namespace omath::source_engine { class Camera final : public projection::Camera { public: Camera(const Vector3& position, const ViewAngles& viewAngles, const projection::ViewPort& viewPort, const Angle& fov, float near, float far); void LookAt(const Vector3& target) override; protected: [[nodiscard]] Mat4x4 CalcViewMatrix() const override; [[nodiscard]] Mat4x4 CalcProjectionMatrix() const override; }; }