Changes to shadowpass

This commit is contained in:
2026-02-15 21:17:09 +01:00
parent 9f9663fb47
commit c8ee843a09
7 changed files with 23 additions and 15 deletions
@@ -50,10 +50,10 @@ void ShadowPass::beginFrame(const Component::Camera& camera, const Component::Tr
float nearClip = camera.nearPlane;
float farClip = camera.farPlane;
float clipRange = nearClip - farClip;
float clipRange = farClip - nearClip;
float minZ = farClip;
float maxZ = nearClip;
float minZ = nearClip;
float maxZ = farClip;
float range = maxZ - minZ;
float ratio = maxZ / minZ;
@@ -63,8 +63,8 @@ void ShadowPass::beginFrame(const Component::Camera& camera, const Component::Tr
float log = minZ * std::pow(ratio, p);
float uniform = minZ + range * p;
float d = cascadeSplitLambda * (log - uniform) + uniform;
cascadeSplits[i] = (d - farClip) / clipRange;
splitDepths[i] = farClip + cascadeSplits[i] * clipRange;
cascadeSplits[i] = (d - nearClip) / clipRange;
splitDepths[i] = farClip - cascadeSplits[i] * clipRange;
cascades[i].viewParams.clear();
}
cascadeSplitsBuffer->updateContents(0, sizeof(float) * NUM_CASCADES, splitDepths);
@@ -111,7 +111,7 @@ void ShadowPass::beginFrame(const Component::Camera& camera, const Component::Tr
Vector cameraPos = frustumCenter - lightDir * -minExtents.z;
Matrix4 viewMatrix = glm::lookAt(cameraPos, frustumCenter, Vector(0, 1, 0));
Matrix4 projectionMatrix =
orthographicProjection(minExtents.x, maxExtents.x, minExtents.y, maxExtents.y, 0.0f, maxExtents.z - minExtents.z);
orthographicProjection(minExtents.x, maxExtents.x, minExtents.y, maxExtents.y, maxExtents.z - minExtents.z, 0.0f);
Matrix4 viewProjectionMatrix = projectionMatrix * viewMatrix;
viewParams = {
.viewMatrix = viewMatrix,