This commit is contained in:
2025-09-20 15:46:21 +03:00
parent 4d4dfae8f2
commit 5539bbad0d
11 changed files with 39 additions and 20 deletions

View File

@@ -6,9 +6,13 @@
namespace omath::source_engine
{
Mat4X4 CameraTrait::calc_look_at_mat(const Vector3<float>& cam_origin, const Vector3<float>& look_at) noexcept
ViewAngles CameraTrait::calc_look_at_angle(const Vector3<float>& cam_origin, const Vector3<float>& look_at) noexcept
{
return mat_look_at_left_handed<float, Mat4X4::get_store_ordering()>(cam_origin, look_at, k_abs_up);
const auto distance = cam_origin.distance_to(look_at);
const auto delta = look_at - cam_origin;
return {PitchAngle::from_radians(-std::asin(delta.z / distance)),
YawAngle::from_radians(std::atan2(delta.y, delta.x)), RollAngle::from_radians(0.f)};
}
Mat4X4 CameraTrait::calc_view_matrix(const ViewAngles& angles, const Vector3<float>& cam_origin) noexcept
{