mirror of
https://github.com/orange-cpp/omath.git
synced 2026-02-13 15:03:27 +00:00
22 lines
732 B
C++
22 lines
732 B
C++
//
|
|
// Created by Vlad on 3/22/2025.
|
|
//
|
|
|
|
#pragma once
|
|
#include "omath/engines/unity_engine/constants.hpp"
|
|
#include "omath/projection/camera.hpp"
|
|
|
|
namespace omath::unity_engine
|
|
{
|
|
class Camera final : public projection::Camera<Mat4X4, ViewAngles>
|
|
{
|
|
public:
|
|
Camera(const Vector3<float>& position, const ViewAngles& view_angles, const projection::ViewPort& view_port,
|
|
const Angle<float, 0.f, 180.f, AngleFlags::Clamped>& fov, float near, float far);
|
|
void look_at(const Vector3<float>& target) override;
|
|
|
|
protected:
|
|
[[nodiscard]] Mat4X4 calc_view_matrix() const override;
|
|
[[nodiscard]] Mat4X4 calc_projection_matrix() const override;
|
|
};
|
|
} // namespace omath::unity_engine
|