From 8b6515cad4a0bad267e4ba5ac6d9f10b3d120163 Mon Sep 17 00:00:00 2001
From: Mara Vogt <mvogt@uni-koblenz.de>
Date: Tue, 15 Jun 2021 19:28:15 +0200
Subject: [PATCH] [#63][fix] first scene wip correction in matrix conversion

---
 modules/asset_loader/include/vkcv/asset/asset_loader.hpp | 1 +
 modules/asset_loader/src/vkcv/asset/asset_loader.cpp     | 5 ++---
 projects/first_scene/src/main.cpp                        | 5 +----
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/modules/asset_loader/include/vkcv/asset/asset_loader.hpp b/modules/asset_loader/include/vkcv/asset/asset_loader.hpp
index d1bcea4f..597cf4c8 100644
--- a/modules/asset_loader/include/vkcv/asset/asset_loader.hpp
+++ b/modules/asset_loader/include/vkcv/asset/asset_loader.hpp
@@ -7,6 +7,7 @@
 
 #include <string>
 #include <vector>
+#include <array>
 #include <cstdint>
 #include <vkcv/VertexLayout.hpp>
 
diff --git a/modules/asset_loader/src/vkcv/asset/asset_loader.cpp b/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
index 48ec170e..f546e21c 100644
--- a/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
+++ b/modules/asset_loader/src/vkcv/asset/asset_loader.cpp
@@ -6,7 +6,6 @@
 #define STB_IMAGE_IMPLEMENTATION
 #define STBI_ONLY_JPEG
 #include <stb_image.h>
-
 #include <vkcv/Logger.hpp>
 
 namespace vkcv::asset {
@@ -92,12 +91,12 @@ std::array<float, 16> computeModelMatrix(std::array<float, 3> translation, std::
     auto q2 = rotation[2];
     auto q3 = rotation[3];
 
-    modelMatrix[0] = (2 * (a * a + q1 * q1) + 1) * scale[0];
+    modelMatrix[0] = (2 * (a * a + q1 * q1) - 1) * scale[0];
     modelMatrix[1] = (2 * (q1 * q2 - a * q3)) * scale[1];
     modelMatrix[2] = (2 * (q1 * q3 + a * q2)) * scale[2];
 
     modelMatrix[4] = (2 * (q1 * q2 + a * q3)) * scale[0];
-    modelMatrix[5] = (2 * (a * a + q2 * q2) + 1) * scale[1];
+    modelMatrix[5] = (2 * (a * a + q2 * q2) - 1) * scale[1];
     modelMatrix[6] = (2 * (q2 * q3 - a * q1)) * scale[2];
 
     modelMatrix[8] = (2 * (q1 * q3 - a * q2)) * scale[0];
diff --git a/projects/first_scene/src/main.cpp b/projects/first_scene/src/main.cpp
index b5d67372..51993a35 100644
--- a/projects/first_scene/src/main.cpp
+++ b/projects/first_scene/src/main.cpp
@@ -7,12 +7,9 @@
 
 glm::mat4 arrayTo4x4Matrix(std::array<float,16> array){
     glm::mat4 matrix;
-    int r = 0;
     for (int i = 0; i < 4; i++){
         for (int j = 0; j < 4; j++){
-            matrix[i][j] = array[r];
-            r++;
-            std::cout << matrix[i][j] << std::endl;
+            matrix[i][j] = array[j * 4 + i];
         }
     }
     return matrix;
-- 
GitLab