From c7102b1d9b763514ad98e5788d373e613fd26c38 Mon Sep 17 00:00:00 2001 From: arby Date: Thu, 7 Oct 2021 23:28:51 +0200 Subject: [PATCH] Simplified CSM code, removed some comments. --- src/8.guest/2021/2.csm/shadow_mapping.cpp | 34 ++--------------------- 1 file changed, 2 insertions(+), 32 deletions(-) diff --git a/src/8.guest/2021/2.csm/shadow_mapping.cpp b/src/8.guest/2021/2.csm/shadow_mapping.cpp index 7a5f52d..521af60 100644 --- a/src/8.guest/2021/2.csm/shadow_mapping.cpp +++ b/src/8.guest/2021/2.csm/shadow_mapping.cpp @@ -320,25 +320,6 @@ void renderScene(const Shader &shader) shader.setMat4("model", model); renderCube(); } - - - // cubes - //model = glm::mat4(1.0f); - //model = glm::translate(model, glm::vec3(-5.0f, -3.0f, 0.0)); - //model = glm::scale(model, glm::vec3(2)); - //shader.setMat4("model", model); - //renderCube(); - //model = glm::mat4(1.0f); - //model = glm::translate(model, glm::vec3(2.0f, 3.0f, 1.0)); - //model = glm::scale(model, glm::vec3(2)); - //shader.setMat4("model", model); - //renderCube(); - //model = glm::mat4(1.0f); - //model = glm::translate(model, glm::vec3(-1.0f, 3.0f, 2.0)); - //model = glm::rotate(model, glm::radians(60.0f), glm::normalize(glm::vec3(1.0, 0.0, 1.0))); - //model = glm::scale(model, glm::vec3(2)); - //shader.setMat4("model", model); - //renderCube(); } @@ -633,20 +614,9 @@ glm::mat4 getLightSpaceMatrix(const float nearPlane, const float farPlane) maxZ *= zMult; } - const glm::mat4 lpMatrix = glm::ortho(-1.0f, 1.0f, -1.0f, 1.0f, minZ, maxZ); + const glm::mat4 lightProjection = glm::ortho(minX, maxX, minY, maxY, minZ, maxZ); - const float scaleX = 2.0f / (maxX - minX); - const float scaleY = 2.0f / (maxY - minY); - const float offsetX = -0.5f * (minX + maxX) * scaleX; - const float offsetY = -0.5f * (minY + maxY) * scaleY; - - glm::mat4 cropMatrix(1.0f); - cropMatrix[0][0] = scaleX; - cropMatrix[1][1] = scaleY; - cropMatrix[3][0] = offsetX; - cropMatrix[3][1] = offsetY; - - return cropMatrix * lpMatrix * lightView; + return lightProjection * lightView; } std::vector getLightSpaceMatrices()