diff --git a/projects/voxelization/resources/shaders/shader.vert b/projects/voxelization/resources/shaders/shader.vert index 0ab82c203806356d0f35dc52c0a6988b286d90d1..926f86af2860cb57c44d2d5ee78712b6ae155e5c 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 bd7046f14fca8af06bdf95a29ffe2504a43ebc7f..1b9193c07bee7cb0dd9873f72b33058f29a678d8 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 });