From 894ceabb22e0558afc05065e44e059f9bacdd9d6 Mon Sep 17 00:00:00 2001
From: Alexander Gauggel <agauggel@uni-koblenz.de>
Date: Thu, 17 Jun 2021 13:27:49 +0200
Subject: [PATCH] [#70] Lighting fix

---
 projects/voxelization/resources/shaders/shader.vert | 2 +-
 projects/voxelization/src/main.cpp                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/projects/voxelization/resources/shaders/shader.vert b/projects/voxelization/resources/shaders/shader.vert
index 0ab82c20..926f86af 100644
--- a/projects/voxelization/resources/shaders/shader.vert
+++ b/projects/voxelization/resources/shaders/shader.vert
@@ -16,7 +16,7 @@ layout( push_constant ) uniform constants{
 
 void main()	{
 	gl_Position = mvp * vec4(inPosition, 1.0);
-	passNormal  = inNormal;
+	passNormal  = mat3(model) * inNormal;    // assuming no weird stuff like shearing or non-uniform scaling
     passUV      = inUV;
     passPos     = (model * vec4(inPosition, 1)).xyz;
 }
\ No newline at end of file
diff --git a/projects/voxelization/src/main.cpp b/projects/voxelization/src/main.cpp
index bd7046f1..1b9193c0 100644
--- a/projects/voxelization/src/main.cpp
+++ b/projects/voxelization/src/main.cpp
@@ -360,7 +360,7 @@ int main(int argc, const char** argv) {
 		vulkanCorrectionMatrix[3][2] = 0.5;
 		projectionLight = vulkanCorrectionMatrix * projectionLight;
 
-		const glm::mat4 viewLight = glm::lookAt(glm::vec3(0), -lightInfo.direction, glm::vec3(0, -1, 0));
+		const glm::mat4 viewLight = glm::lookAt(glm::vec3(0), lightInfo.direction, glm::vec3(0, -1, 0));
 
 		lightInfo.lightMatrix = projectionLight * viewLight;
 		lightBuffer.fill({ lightInfo });
-- 
GitLab