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