From 9633b155bd46437709ae1cf392845bbdef84ac1e Mon Sep 17 00:00:00 2001 From: Quantum Date: Sat, 7 Aug 2021 02:02:44 -0400 Subject: [PATCH] Fixed GL math I did almost every matrix operation backwards... --- src/util/render.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/util/render.cpp b/src/util/render.cpp index b6f12c2..08c204d 100644 --- a/src/util/render.cpp +++ b/src/util/render.cpp @@ -50,10 +50,10 @@ void Render::fill_rectangle_sz(Vector2 size, Color color) { } void Render::draw_lines(std::vector> points, Color color) { - auto prev_cache = m_matrix * m_view_matrix * Vector3(points[0], 1); + auto prev_cache = m_view_matrix * m_matrix * Vector3(points[0], 1); for(size_t i = 1; i < points.size(); i++) { auto start = prev_cache; - auto end = m_matrix * m_view_matrix * Vector3(points[i], 1); + auto end = m_view_matrix * m_matrix * Vector3(points[i], 1); m_pge->DrawLine( start.x(), @@ -118,10 +118,10 @@ void Render::pop_matrix() { void Render::translate(Vector2 trans) { switch(m_matrix_mode) { case MODEL: - m_matrix = translation_matrix(trans) * m_matrix; + m_matrix *= translation_matrix(trans); break; case PROJECTION: - m_view_matrix = translation_matrix(trans) * m_view_matrix; + m_view_matrix *= translation_matrix(trans); break; } } @@ -129,10 +129,10 @@ void Render::translate(Vector2 trans) { void Render::rotate(float theta) { switch(m_matrix_mode) { case MODEL: - m_matrix = rotation_matrix(theta) * m_matrix; + m_matrix *= rotation_matrix(theta); break; case PROJECTION: - m_view_matrix = rotation_matrix(theta) * m_view_matrix; + m_view_matrix *= rotation_matrix(theta); break; } } @@ -140,10 +140,10 @@ void Render::rotate(float theta) { void Render::scale(Vector2 scale) { switch(m_matrix_mode) { case MODEL: - m_matrix = scale_matrix(scale) * m_matrix; + m_matrix *= scale_matrix(scale); break; case PROJECTION: - m_view_matrix = scale_matrix(scale) * m_view_matrix; + m_view_matrix *= scale_matrix(scale); } }