From 26d7b83fcd0144d54171b01d5e24977d5651bf68 Mon Sep 17 00:00:00 2001 From: Alexander Gauggel <agauggel@uni-koblenz.de> Date: Thu, 24 Jun 2021 20:00:38 +0200 Subject: [PATCH] [#82] Reduce shadow swimming on movement --- projects/voxelization/src/ShadowMapping.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/projects/voxelization/src/ShadowMapping.cpp b/projects/voxelization/src/ShadowMapping.cpp index 1e58b3c8..9c81aa09 100644 --- a/projects/voxelization/src/ShadowMapping.cpp +++ b/projects/voxelization/src/ShadowMapping.cpp @@ -115,6 +115,10 @@ glm::mat4 computeShadowViewProjectionMatrix( getMinMaxView(voxelVolumeCorners); glm::vec3 scale = glm::vec3(2) / (maxView - minView); + + // rotationaly invariant to avoid swimming when moving camera + scale = glm::vec3(glm::max(glm::max(scale.x, scale.y), scale.z)); + glm::vec3 offset = -0.5f * (maxView + minView) * scale; glm::mat4 crop(1); -- GitLab