From 83ab8c70f0e461e61ab170936a9f5f06be8419e1 Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Tue, 6 Jun 2023 12:45:34 +0200 Subject: [PATCH] cache transpose --- src/render/Renderer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index e546a17..0f5a87d 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -106,7 +106,7 @@ void Renderer::SetCamPos(const Vec3f& newPos) { m_Camera.CamPos = newPos; m_Camera.viewMatrix = maths::Look(m_Camera.CamPos, front, { 0, 1, 0 }); - m_Camera.InvViewMatrix = maths::Inverse(m_Camera.viewMatrix); + m_Camera.InvViewMatrix = maths::Transpose(maths::Inverse(m_Camera.viewMatrix)); // why transpose ? I don't know m_WorldShader->Start(); m_WorldShader->SetViewMatrix(m_Camera.viewMatrix); @@ -125,7 +125,7 @@ Vec2f Renderer::GetCursorWorldPos(const Vec2f& cursorPos, float windowWidth, flo rayEye = { rayEye.x, rayEye.y, -1.0f, 0.0f }; - Vec4f rayWorld = maths::Dot(maths::Transpose(m_Camera.InvViewMatrix), rayEye); // why transpose ? I don't know + Vec4f rayWorld = maths::Dot(m_Camera.InvViewMatrix, rayEye); float lambda = -m_Camera.CamPos.y / rayWorld.y;