From e958cbeba289df6e72a9b7c308257f697e0792c3 Mon Sep 17 00:00:00 2001 From: Orange Date: Mon, 2 Sep 2024 14:52:04 +0300 Subject: [PATCH] added additional check --- source/projection/Camera.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/projection/Camera.cpp b/source/projection/Camera.cpp index 49bb12c..35c79df 100644 --- a/source/projection/Camera.cpp +++ b/source/projection/Camera.cpp @@ -45,6 +45,10 @@ namespace omath::projection projected /= projected.At(0, 3); + if (projected.At(0, 0) < -1.f || projected.At(0, 0) > 1.f || + projected.At(0, 1) < -1.f || projected.At(0, 1) > 1.f) + return std::unexpected("Projection point is out screen bounds"); + projected *= Matrix::ToScreenMatrix(m_viewPort.m_width, m_viewPort.m_height); return Vector3{projected.At(0, 0), projected.At(0, 1), projected.At(0, 2)};