From 416458b811d8938545c7990cf242b018051d1e2d Mon Sep 17 00:00:00 2001 From: Untold Engine Date: Mon, 21 Sep 2026 22:24:03 -0700 Subject: [PATCH] [Bugfix] Fix CSM cascade shadow casters being dropped, add cross-cascade blending Directional-light shadow casters were culled by camera-depth distance against each cascade's own split, but an object outside a cascade's camera-depth interval can still project a shadow into it (e.g. a low sun casting a long shadow from off-screen). Cull casters against the fitted light-space cascade frustum instead, which is the correctness-preserving test; restore the lost draw-call optimization with a direction-agnostic distance reject measured from each cascade's own world-space bounding sphere instead of the camera. Also: - Cross-fade shadow visibility across the last 10% of each cascade interval instead of hard-switching, avoiding a visible pop as geometry crosses a split. The blend boundary is computed once per frame on the CPU (ShadowSystem.cascadeBlendStart) and uploaded to the shader, rather than independently re-derived on both sides. - Push the shadow-space sample point along the surface normal (normal-offset shadows) instead of only biasing depth, fixing acne from normal-mapped shading normals; guard against a zero-length normal so a degenerate G-buffer normal can't NaN the shadow lookup. - Convert shadow bias and PCF filter radius to world units and back so they stay physically consistent across cascades with different orthographic depth ranges and texel densities. --- .../UntoldEngine/Renderer/RenderPasses.swift | 58 +--- .../UntoldEngine/Shaders/LightShader.metal | 106 +++++-- Sources/UntoldEngine/Shaders/ShaderStructs.h | 10 +- Sources/UntoldEngine/Shaders/ShadersUtils.h | 1 - .../Shaders/TransparencyShader.metal | 2 +- .../UntoldEngine/Systems/ShadowSystem.swift | 104 +++++-- .../UntoldEngineKernels-ios.metallib | Bin 697203 -> 699283 bytes .../UntoldEngineKernels-iossim.metallib | Bin 700307 -> 702387 bytes .../UntoldEngineKernels-tvos.metallib | Bin 697539 -> 699619 bytes .../UntoldEngineKernels-tvossim.metallib | Bin 700515 -> 702595 bytes .../UntoldEngineKernels-xros.metallib | Bin 697971 -> 700131 bytes .../UntoldEngineKernels-xrossim.metallib | Bin 700963 -> 703091 bytes .../UntoldEngineKernels.metallib | Bin 695651 -> 697715 bytes Sources/UntoldEngine/Utils/Globals.swift | 2 + .../ShadowCascadeTests.swift | 279 ++++++++++++++---- docs/Architecture/renderingSystem.md | 8 +- 16 files changed, 420 insertions(+), 150 deletions(-) diff --git a/Sources/UntoldEngine/Renderer/RenderPasses.swift b/Sources/UntoldEngine/Renderer/RenderPasses.swift index 2effae7f6..83f60f2db 100644 --- a/Sources/UntoldEngine/Renderer/RenderPasses.swift +++ b/Sources/UntoldEngine/Renderer/RenderPasses.swift @@ -616,14 +616,14 @@ public enum RenderPasses { ensureShadowCacheConfigured() guard let frustum = shadowFrustum(for: cascadeIdx) else { return [] } - let cameraPosition: simd_float3 - if let cam = CameraSystem.shared.activeCamera, - let camComp = scene.get(component: CameraComponent.self, for: cam) - { - cameraPosition = SceneRootTransform.shared.effectiveCameraPosition(camComp.localPosition) - } else { - cameraPosition = .zero - } + // Conservative, direction-agnostic pre-reject: a caster farther than the engine's + // own shadow-distance horizon (maxShadowCastingDistance) from anything this cascade's + // camera-frustum slice could see cannot matter to this cascade, regardless of light + // direction — unlike a camera-depth cutoff, this never excludes the far/shallow-angle + // casters that motivated removing the old per-cascade distance cull, since it is + // measured from the cascade's own world-space bounding sphere, not the camera. + let cascadeCenter = shadowSystem.cascadeWorldCenters[cascadeIdx] + let cascadeReach = shadowSystem.cascadeWorldRadii[cascadeIdx] + RenderPasses.maxShadowCastingDistance // Rebuild candidate list if dirty. At most one rebuild per dirty event, shared // across all cascade invocations in the same frame. @@ -671,20 +671,16 @@ public enum RenderPasses { localMax: localTransformComponent.boundingBox.max, worldMatrix: worldTransformComponent.space ) - // Per-cascade distance limit: cap at the cascade's own split distance so - // objects beyond this cascade's far plane are not rendered into it. - // This prevents the near cascade from receiving shadow casters that are - // only relevant to farther cascades, cutting draw calls significantly for - // the near (most expensive) cascade. - let cascadeMaxDistance = shadowCascadeMaxDistance( - cascadeIdx: cascadeIdx, - splitDistances: shadowSystem.cascadeSplitDistances, - globalMax: RenderPasses.maxShadowCastingDistance - ) + // Directional-light caster relevance cannot be determined from camera + // distance or the cascade receiver split — a caster outside a cascade's + // camera-depth interval can still project a shadow into that interval. + // The world-space distance reject above stays correct for any light + // direction; the fitted light-space cascade frustum below is the + // correctness-preserving cull for what actually lands in the map. if shadowEntityBeyondMaxDistance( worldMin: worldMin, worldMax: worldMax, - cameraPosition: cameraPosition, - maxDistance: cascadeMaxDistance + cameraPosition: cascadeCenter, + maxDistance: cascadeReach ) { continue } if isAABBInFrustum(frustum, min: worldMin, max: worldMax) { result.append(entityId) @@ -4972,28 +4968,6 @@ private func uploadAndBindLights( return true } -// MARK: - Shadow cascade distance helpers (internal — exposed for testing via @testable import) - -/// Returns the effective maximum shadow-casting distance for a single CSM cascade. -/// -/// Each cascade only needs shadow casters within its own split range. Capping at the -/// cascade's split distance prevents the near cascade from receiving distant casters -/// that are only relevant to farther cascades, reducing shadow draw calls on cascade 0. -/// -/// - Parameters: -/// - cascadeIdx: Index of the cascade (0 = nearest). -/// - splitDistances: Per-cascade far-plane distances from the camera, as computed by ShadowSystem. -/// - globalMax: The scene-wide shadow distance cap (RenderPasses.maxShadowCastingDistance). -/// - Returns: The tighter of globalMax and the cascade's own split distance. -func shadowCascadeMaxDistance( - cascadeIdx: Int, - splitDistances: [Float], - globalMax: Float -) -> Float { - guard cascadeIdx < splitDistances.count else { return globalMax } - return min(globalMax, splitDistances[cascadeIdx]) -} - /// Returns true when the entity's AABB is farther than maxDistance from the camera. /// Uses closest-point-on-AABB distance so large meshes near the camera are never wrongly excluded. /// maxDistance == 0 disables culling (always returns false). diff --git a/Sources/UntoldEngine/Shaders/LightShader.metal b/Sources/UntoldEngine/Shaders/LightShader.metal index 15c3a5b40..fd73210bf 100644 --- a/Sources/UntoldEngine/Shaders/LightShader.metal +++ b/Sources/UntoldEngine/Shaders/LightShader.metal @@ -14,25 +14,30 @@ #include "ShadersUtils.h" using namespace metal; -// Cascaded shadow map sampling. -// Selects the cascade whose far-split encloses the fragment's camera view-depth, -// then performs a 16-tap Poisson-disk PCF on that cascade's depth slice. -float computeCSMShadow( +// Normal-offset shadows: how many of the cascade's own world-space texels to push the +// sampled point along the surface normal before the light-space lookup. This moves the +// tested point off the surface instead of only fudging the depth comparison, so it stays +// robust to acne from a normal-mapped shading normal (whose NoL — and so whose depth +// bias — can vary within a single flat, single-depth shadow-map texel). +constant float kNormalOffsetTexels = 1.5; + +float sampleCSMCascade( depth2d_array shadowArray, constant CSMUniforms &csm, + int cascade, float3 worldPos, - float3 cameraPos, float3 normal, - float3 lightDir + float worldBias, + float worldFilterRadius ) { - // Pick cascade using the same right-handed camera depth space as the CPU split calculation. - float viewDepth = -(csm.cameraViewMatrix * float4(worldPos, 1.0)).z; - int cascade = csm.cascadeCount - 1; - for (int i = 0; i < csm.cascadeCount - 1; i++) { - if (viewDepth < csm.cascadeSplits[i]) { cascade = i; break; } - } + float cascadeWorldTexelSize = max(csm.cascadeWorldTexelSizes[cascade], 1.0e-6); - float4 shadowCoords = csm.lightSpaceMatrices[cascade] * float4(worldPos, 1.0); + // Guard against a degenerate (zero-length) normal — e.g. an unwritten G-buffer + // texel — so normalize() can't produce a NaN that corrupts the shadow-space UV. + float normalLengthSq = length_squared(normal); + float3 safeNormalDir = normalLengthSq > 1.0e-12 ? (normal * rsqrt(normalLengthSq)) : float3(0.0, 1.0, 0.0); + float3 offsetWorldPos = worldPos + safeNormalDir * (cascadeWorldTexelSize * kNormalOffsetTexels); + float4 shadowCoords = csm.lightSpaceMatrices[cascade] * float4(offsetWorldPos, 1.0); // Clip → NDC → [0,1] UV float3 proj = shadowCoords.xyz / shadowCoords.w; @@ -52,10 +57,44 @@ float computeCSMShadow( compare_func::less_equal ); float2 texelSize = 1.0 / float2(shadowArray.get_width(), shadowArray.get_height()); + float cascadeFilterRadius = worldFilterRadius / cascadeWorldTexelSize; + // Orthographic depth is linear. Convert the shared physical receiver bias + // into this cascade's normalized depth units so blended edges stay aligned. + float cascadeDepthSpan = max(csm.cascadeDepthSpans[cascade], 1.0e-6); + float normalizedBias = worldBias / cascadeDepthSpan; + float shadow = 0.0; + for (int i = 0; i < 16; ++i) { + float2 offset = poissonDisk[i] * texelSize * cascadeFilterRadius; + shadow += shadowArray.sample_compare( + shadowSampler, proj.xy + offset, cascade, proj.z - normalizedBias + ); + } + return shadow / 16.0; +} + +// Cascaded shadow map sampling. The farther cascade overlaps the end of the +// preceding cascade. Inside that overlap both slices are sampled and their +// visibility is cross-faded; elsewhere only one slice is sampled. +float computeCSMShadow( + depth2d_array shadowArray, + constant CSMUniforms &csm, + float3 worldPos, + float3 normal, + float3 lightDir +) { + // Pick cascade using the same right-handed camera depth space as the CPU split calculation. + float viewDepth = -(csm.cameraViewMatrix * float4(worldPos, 1.0)).z; + int cascade = csm.cascadeCount - 1; + for (int i = 0; i < csm.cascadeCount - 1; i++) { + if (viewDepth < csm.cascadeSplits[i]) { cascade = i; break; } + } float NoL = clamp(dot(normalize(normal), normalize(lightDir)), 0.0, 1.0); - float bias = max(0.0011 * (1.0 - NoL), 0.0003); - float currentDepth = proj.z; + // Preserve the established cascade-0 appearance, but express its bias as + // a physical light-space distance shared by every cascade sample. + float referenceNormalizedBias = max(0.0011 * (1.0 - NoL), 0.0003); + float referenceDepthSpan = max(csm.cascadeDepthSpans[0], 1.0e-6); + float worldBias = referenceNormalizedBias * referenceDepthSpan; float shadowDistance = max(csm.cascadeSplits[max(csm.cascadeCount - 1, 0)], 0.001); float depthFade = clamp(viewDepth / shadowDistance, 0.0, 1.0) * clamp(csm.shadowSoftnessDepthScale, 0.0, 2.0); float nearRadius = max(csm.shadowSoftnessNear, 0.25); @@ -63,13 +102,32 @@ float computeCSMShadow( float filterRadius = csm.shadowSoftnessEnabled > 0.5 ? mix(nearRadius, farRadius, clamp(depthFade, 0.0, 1.0)) : 1.0; + // Softness settings are authored in cascade-0 texels. Convert that reference + // footprint to world units once here — it does not depend on which cascade is + // sampled, so both the primary and (during a blend) the next-cascade sample + // reuse this same value instead of each re-deriving it from csm.cascadeWorldTexelSizes[0]. + float referenceWorldTexelSize = max(csm.cascadeWorldTexelSizes[0], 1.0e-6); + float worldFilterRadius = filterRadius * referenceWorldTexelSize; + + float shadow = sampleCSMCascade( + shadowArray, csm, cascade, worldPos, normal, worldBias, worldFilterRadius + ); - float shadow = 0.0; - for (int i = 0; i < 16; ++i) { - float2 offset = poissonDisk[i] * texelSize * filterRadius; - shadow += shadowArray.sample_compare(shadowSampler, proj.xy + offset, cascade, currentDepth - bias); + if (cascade < csm.cascadeCount - 1) { + // Blend start is computed once per frame on the CPU (ShadowSystem.cascadeBlendStart) + // and uploaded here rather than re-derived per-fragment, so the frustum widening + // that makes the next cascade's map cover this region and the shader's cross-fade + // agree on the same boundary by construction instead of by two hand-matched formulas. + float blendStart = csm.cascadeBlendStarts[cascade]; + if (viewDepth > blendStart) { + float nextShadow = sampleCSMCascade( + shadowArray, csm, cascade + 1, worldPos, normal, worldBias, worldFilterRadius + ); + float blend = smoothstep(blendStart, csm.cascadeSplits[cascade], viewDepth); + shadow = mix(shadow, nextShadow, blend); + } } - return shadow / 16.0; + return shadow; } float computeSpotShadow( @@ -530,12 +588,12 @@ fragment float4 fragmentLightShader(VertexCompositeOutput vertexOut [[stage_in]] color.spec = brdf.spec*lights.color*lights.intensity; // Compute shadow using cascaded shadow maps - float shadow = computeCSMShadow(csmShadowArray, csmUniforms, verticesInWorldSpace.xyz, cameraPosition, surfaceNormal, lightRayDirection); - + float shadow = computeCSMShadow(csmShadowArray, csmUniforms, verticesInWorldSpace.xyz, surfaceNormal, lightRayDirection); + // shadows affect directional light for now color.diff = color.diff*(half)shadow; color.spec = color.spec*shadow; - + // compute point light contribution LightContribution pointColor; @@ -695,7 +753,7 @@ fragment TBDRLightOutput fragmentLightShaderTBDR( color.diff = brdf.diff * (half3)lights.color * (half)lights.intensity; color.spec = brdf.spec * lights.color * lights.intensity; - float shadow = computeCSMShadow(csmShadowArray, csmUniforms, verticesInWorldSpace.xyz, cameraPosition, surfaceNormal, lightRayDirection); + float shadow = computeCSMShadow(csmShadowArray, csmUniforms, verticesInWorldSpace.xyz, surfaceNormal, lightRayDirection); color.diff *= (half)shadow; color.spec *= shadow; diff --git a/Sources/UntoldEngine/Shaders/ShaderStructs.h b/Sources/UntoldEngine/Shaders/ShaderStructs.h index 65914e082..8a5d939c1 100644 --- a/Sources/UntoldEngine/Shaders/ShaderStructs.h +++ b/Sources/UntoldEngine/Shaders/ShaderStructs.h @@ -201,9 +201,13 @@ struct CSMUniforms { float4x4 cameraViewMatrix; float cascadeSplits[CSM_CASCADE_COUNT]; // world-space camera distances (far edge of each cascade) int cascadeCount; - float _pad0; - float _pad1; - float _pad2; + float cascadeWorldTexelSizes[CSM_CASCADE_COUNT]; + float cascadeDepthSpans[CSM_CASCADE_COUNT]; + // Camera-depth distance at which each cascade begins cross-fading into the next. + // Computed once per frame on the CPU (ShadowSystem.cascadeBlendStart) — the shader + // reads this instead of re-deriving it from cascadeSplits, so both the CPU frustum + // widening and the GPU cross-fade agree on the same value by construction. + float cascadeBlendStarts[CSM_CASCADE_COUNT]; float shadowSoftnessNear; // Poisson PCF radius in texels near the camera float shadowSoftnessFar; // Poisson PCF radius in texels at the shadow distance float shadowSoftnessDepthScale; // 0 = fixed near radius, 1 = full near-to-far ramp diff --git a/Sources/UntoldEngine/Shaders/ShadersUtils.h b/Sources/UntoldEngine/Shaders/ShadersUtils.h index 09c705942..074a69163 100644 --- a/Sources/UntoldEngine/Shaders/ShadersUtils.h +++ b/Sources/UntoldEngine/Shaders/ShadersUtils.h @@ -162,7 +162,6 @@ float3 diffuseIBL(float3 normal, texture2d irradianceMap, float3 rotation float computeCSMShadow(depth2d_array shadowArray, constant CSMUniforms &csm, float3 worldPos, - float3 cameraPos, float3 normal, float3 lightDir); diff --git a/Sources/UntoldEngine/Shaders/TransparencyShader.metal b/Sources/UntoldEngine/Shaders/TransparencyShader.metal index 374825d55..36e71e6ea 100644 --- a/Sources/UntoldEngine/Shaders/TransparencyShader.metal +++ b/Sources/UntoldEngine/Shaders/TransparencyShader.metal @@ -107,7 +107,7 @@ fragment float4 fragmentTransparencyShader( totalLight.diff = brdf.diff * (half3)lights.color * (half)lights.intensity; totalLight.spec = brdf.spec * lights.color * lights.intensity; - float shadow = computeCSMShadow(csmShadowArray, csmUniforms, verticesInWorldSpace.xyz, cameraPosition, normal, lightDirection); + float shadow = computeCSMShadow(csmShadowArray, csmUniforms, verticesInWorldSpace.xyz, normal, lightDirection); totalLight.diff *= (half)shadow; totalLight.spec *= shadow; diff --git a/Sources/UntoldEngine/Systems/ShadowSystem.swift b/Sources/UntoldEngine/Systems/ShadowSystem.swift index 4db2014f2..497b41be6 100644 --- a/Sources/UntoldEngine/Systems/ShadowSystem.swift +++ b/Sources/UntoldEngine/Systems/ShadowSystem.swift @@ -65,9 +65,9 @@ struct CSMUniforms { var cameraViewMatrix: simd_float4x4 = matrix_identity_float4x4 var cascadeSplits: (Float, Float, Float) = (0, 0, 0) var cascadeCount: Int32 = .init(csmCascadeCount) - var _pad0: Float = 0 - var _pad1: Float = 0 - var _pad2: Float = 0 + var cascadeWorldTexelSizes: (Float, Float, Float) = (1, 1, 1) + var cascadeDepthSpans: (Float, Float, Float) = (1, 1, 1) + var cascadeBlendStarts: (Float, Float, Float) = (0, 0, 0) var shadowSoftnessNear: Float = 1.0 var shadowSoftnessFar: Float = 2.25 var shadowSoftnessDepthScale: Float = 1.0 @@ -257,6 +257,20 @@ struct ShadowSystem { // Per-frame cascade outputs var cascadeLightSpaceMatrices: [simd_float4x4] = Array(repeating: matrix_identity_float4x4, count: csmCascadeCount) var cascadeSplitDistances: [Float] = Array(repeating: 0, count: csmCascadeCount) + var cascadeWorldTexelSizes: [Float] = Array(repeating: 1, count: csmCascadeCount) + var cascadeDepthSpans: [Float] = Array(repeating: 1, count: csmCascadeCount) + /// World-space centroid and bounding-sphere radius of each cascade's camera-frustum + /// slice. Used by the renderer to reject shadow casters that are farther than the + /// engine's own shadow-distance horizon from anything this cascade could possibly + /// receive — a cull that stays correct for any light direction, unlike a camera-depth + /// cutoff (see RenderPasses.shadowCasterEntityIds). + var cascadeWorldCenters: [simd_float3] = Array(repeating: .zero, count: csmCascadeCount) + var cascadeWorldRadii: [Float] = Array(repeating: 0, count: csmCascadeCount) + /// Camera-depth distance at which each cascade begins cross-fading into the next. + /// Computed once per frame by `cascadeBlendStart` and uploaded to the shader — see + /// that function's doc comment for why this is the single source of truth for the + /// blend boundary shared by the CPU frustum widening and the GPU cross-fade. + var cascadeBlendStarts: [Float] = Array(repeating: 0, count: csmCascadeCount) var softnessSettings: ShadowSoftnessSettings = .init() var isActive: Bool = false @@ -265,22 +279,64 @@ struct ShadowSystem { isActive ? cascadeLightSpaceMatrices[0] : nil } + /// Camera-depth distance at which cascade `cascadeIdx` begins cross-fading its + /// visibility into the next cascade. This is the single source of truth for the + /// blend boundary: it is computed once per frame here on the CPU, used directly to + /// widen the *next* cascade's frustum-fitting near plane (`cascadeNearDistance` + /// below), and uploaded via `makeUniforms()` so the shader reads the same value + /// instead of re-deriving it from `cascadeSplits` — eliminating the CPU/GPU-duplicated + /// formula that previously had to be kept in sync by hand. + /// Internal — exposed for testing via @testable import. + static func cascadeBlendStart( + cascadeIdx: Int, + splits: [Float], + blendFraction: Float + ) -> Float { + guard cascadeIdx >= 0, cascadeIdx < splits.count else { return 0 } + // Match the shader's first interval, which begins at camera depth zero. + let intervalNear: Float = cascadeIdx > 0 ? splits[cascadeIdx - 1] : 0 + let intervalLength = max(splits[cascadeIdx] - intervalNear, 0.001) + let blendWidth = intervalLength * simd_clamp(blendFraction, 0.0, 0.5) + return splits[cascadeIdx] - blendWidth + } + + /// Near-plane distance for cascade `cascadeIdx`'s frustum-fitting sub-frustum. + /// Cascades after the first begin at the preceding cascade's blend-start distance, + /// so both cascades' fitted frustums cover the receiver positions the shader + /// cross-fades over. + /// Internal — exposed for testing via @testable import. + static func cascadeNearDistance( + cascadeIdx: Int, + splits: [Float], + cameraNear: Float, + blendFraction: Float + ) -> Float { + guard cascadeIdx > 0 else { return cameraNear } + return max(cameraNear, cascadeBlendStart(cascadeIdx: cascadeIdx - 1, splits: splits, blendFraction: blendFraction)) + } + + /// Fills the 3 fixed GPU slots from a per-cascade array, padding unused slots + /// (beyond csmCascadeCount) with `fallback` so the shader's cascadeCount field + /// controls which slots are actually read. + private static func pack3(_ values: [T], fallback: T) -> (T, T, T) { + ( + values[0], + csmCascadeCount > 1 ? values[1] : fallback, + csmCascadeCount > 2 ? values[2] : fallback + ) + } + /// Pack into the GPU-ready uniform struct. /// CSMUniforms always carries 3 slots (GPU layout is fixed); unused slots are /// left as identity/zero so the shader's cascadeCount field controls which are read. func makeUniforms() -> CSMUniforms { var u = CSMUniforms() - u.lightSpaceMatrices = ( - cascadeLightSpaceMatrices[0], - csmCascadeCount > 1 ? cascadeLightSpaceMatrices[1] : matrix_identity_float4x4, - csmCascadeCount > 2 ? cascadeLightSpaceMatrices[2] : matrix_identity_float4x4 - ) - u.cascadeSplits = ( - cascadeSplitDistances[0], - csmCascadeCount > 1 ? cascadeSplitDistances[1] : 0, - csmCascadeCount > 2 ? cascadeSplitDistances[2] : 0 - ) + u.lightSpaceMatrices = Self.pack3(cascadeLightSpaceMatrices, fallback: matrix_identity_float4x4) + u.cascadeSplits = Self.pack3(cascadeSplitDistances, fallback: 0) u.cascadeCount = Int32(csmCascadeCount) + u.cascadeWorldTexelSizes = Self.pack3(cascadeWorldTexelSizes, fallback: cascadeWorldTexelSizes[0]) + u.cascadeDepthSpans = Self.pack3(cascadeDepthSpans, fallback: cascadeDepthSpans[0]) + u.cascadeBlendStarts = Self.pack3(cascadeBlendStarts, fallback: cascadeBlendStarts[0]) let softness = Self.sanitizedSoftnessSettings(softnessSettings) let xrScale = renderInfo.isXRStereoMode ? softness.xrRadiusScale : 1.0 u.shadowSoftnessNear = softness.nearRadiusTexels * xrScale @@ -357,6 +413,11 @@ struct ShadowSystem { // Practical split scheme (blend of log and uniform, λ=0.5). let splits = computeCascadeSplits(cameraNear: near, cameraFar: cameraFar) cascadeSplitDistances = splits + for i in 0 ..< csmCascadeCount { + cascadeBlendStarts[i] = Self.cascadeBlendStart( + cascadeIdx: i, splits: splits, blendFraction: csmCascadeBlendFraction + ) + } // Light view: look along lightForward using a stable up vector. let lightUp: simd_float3 = abs(lightForward.y) < 0.99 @@ -367,16 +428,23 @@ struct ShadowSystem { lightSpaceBounds(for: $0, lightView: lightView) } - var prevNear: Float = near for i in 0 ..< csmCascadeCount { let cascadeFar = splits[i] + let cascadeNear = Self.cascadeNearDistance( + cascadeIdx: i, + splits: splits, + cameraNear: near, + blendFraction: csmCascadeBlendFraction + ) // 8 corners of the cascade sub-frustum in world space. + // Farther cascades begin inside the preceding cascade so both maps + // cover the receiver positions used by the transition blend. let corners = cascadeFrustumCornersWorldSpace( invViewMatrix: invView, tanHalfFovX: tanHalfFovX, tanHalfFovY: tanHalfFovY, - nearDist: prevNear, + nearDist: cascadeNear, farDist: cascadeFar, xrIPDExpansion: xrExpansion ) @@ -399,6 +467,9 @@ struct ShadowSystem { let diameter = max(ceil(radius * 2.0), 0.001) let texelSize = diameter / Float(shadowResolution.x) + cascadeWorldTexelSizes[i] = texelSize + cascadeWorldCenters[i] = center + cascadeWorldRadii[i] = radius var centerLS = lightView * simd_float4(center, 1.0) centerLS.x = floor(centerLS.x / texelSize) * texelSize @@ -446,11 +517,10 @@ struct ShadowSystem { // the largest (least-negative) Z, which becomes nearZ; farthest becomes farZ. let orthoNearZ = -maxZ let orthoFarZ = -minZ + cascadeDepthSpans[i] = max(orthoFarZ - orthoNearZ, 0.001) let ortho = matrix_ortho_right_hand(minX, maxX, minY, maxY, orthoNearZ, farZ: orthoFarZ) cascadeLightSpaceMatrices[i] = simd_mul(ortho, lightView) - - prevNear = cascadeFar } isActive = true diff --git a/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-ios.metallib b/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-ios.metallib index ece9ba35373e6f44b363a1b5a6d92bc2f297a1a7..88675beedd66e1a347bfe7464a8f1f08f86ec617 100644 GIT binary patch delta 31515 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

H|+dF9cg$_s!O{d;q x&Ytoz&AY1}!K16cNLxZL?x2g6{ND>OUC8rEo-X8BqIdfvOY~r5DgW!c{{WIUu}uH~ delta 29741 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 diff --git a/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-iossim.metallib b/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-iossim.metallib index 8850c930b9da6e5ce33d517348581b5b1c9c113d..e59f4a467344edddaf82ac3b961bc4ff4951ae0a 100644 GIT binary patch delta 31998 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 delta 29756 zcmdVDd0Z3c-uFL~gk(qpB&=Z{RwE)NfQTyzAd8|#s}@_Aut?FWjY<_g)@*>FSc9m8 z*0w=u#ic#Cv}kL45edojJpX2KP5$8Q?eqK6`F)$8>Z4+V`R{z&J?`aH0(aCu|Qt{x_DL;$6 zKfZnL^x}rAr({{p;u}jOTa|k+F-i`ddiz@HtjwpLAuz-9_0J|Q7bpFeMix9;rMrIa z-{%gdJ>0kdnMKpzdFuAb!kB61`iEif*&Lfz)b}NZFl0CCUFJ>x#bzbjE zDP};3jZ;MR8mV`E_=LrbmH_$^1@iiY)eKWAeQ65f)=N^?GRS%K<@>3d81Pic-|UH- z8L~S1>l_}p{?5cT4D3z%5+bC;B-gvXVbVN?=^fg}nyh6QyKT2axb;UTKgY0qO0gsBj6>1RhN{ATK6rY444KbId-PbLu5y?42O^_!>7 zV`2*0k^a`SZMUZ3@L|A*2_F`G+~C7*y)}&!xRs%LzJ6|ABx7p;74rdSCH^~Q_<$3| zu#TeM`GE6|n#B_5K9%WS|LMs$za}evr1MIW6H_pM+mXr^PAU);bmtF@9^8Ma-fX-J;FM{@tDKKZE{QD<*TPETfDV%W54 z{{Az31!mUR72CxHzdXfR@us)*2roueqK;(>uE%(;Cc>IWD1l#?MTeF;-iACA`Rk-QotO^+R#xh}X#6`3`ovy)+JYfJAU+d_#3N5VV8OxFB0df(X{IY+y&{QP`TW*5_} z^77&f;qXC!ghIc7FfwZN*m23@Q&LhVok`+KYSoefyzr{;+_qk-dTrjp&+>%c3ZI+F zx&8M=nbl0QI8Eji9xfDy^LW0+RhkM$P@?Wrj$dG5K|z7`(5y(ioE@kw_Hv zLXoKN5}y|y?z_Aivd`UceLetyg4ORCBt|!uFQ{>X<&D- zM|pCUcn;pI(-2p&FJ)a?hM|pJ?D_D~qep5iTEqBVsZZy?#iKNAHI^fD8!%TL^`vHO zWrwK68)R6Mz!uE+o?MNuEexYoiy6`dGI>zTC3cJ#1MC?0D(0J#xw#(D4M>i1kt zdj4kcyd(4a(dzjtwn}kNhUG*MM$*Ho)VFbP8CQK95mZQ zHnp+8pF9+FSc=4G3);dq1!3L_{G}ExQHdf8$5t>SxC|9LxOT1>GUO917qVb!z?&gp@K_AACC0|r>Hrj6;^6aO* zXs*e_GOs4Hi)FLK14^%^708*1Qe4cUt=|SJ|uU? z9y=AwH)8ApiJWkoD`-&m;Q_gat+P^ZYj!l%9BX|W8cCeGWa02;DSQ}{o0@0%|3ySV zwZt%uiLVLW9XS8eIxi+pTLcYwOU75s=0)9wB!(eZj3jJB&T&Z$ZyKLPJCP~bCc{So zZ&DFgIKFBDmyjT5$h!b5!T3iz+JoFkj7_^mf0D4O`GY6-G6Wd-*U)B7AeM0~ux>U^ zK!=RUXd5IYV!{5*qu>g{B59iv#WefC0*s-7YXNPOFqJvu2s+!P_l`0Js3<&X zBSuG@`s{29|BT}^Wkgo5{5)a9@T`tmLrunT105s^80GXw6E0JV&p5tQO-u%#YkvY3 zU8r~U^M)7d=MNT)h>7c_&!QSX%0kxIu%UL=r>OyEB8WiKNh{;w{m;ca(SlS$%eAw&*WFb`Eus)!n%Ez+~H1Q-u8HG zm48Fnsw5n}XucRpr%B1ybg;E;0+tBe$IK>bC_*hCea~`8#_*#G=9Rw$y3wh8Pl_KFSU|?=Nw@$eq&Nv4Ks@6 z-D|u@^?%7pWcp5zXpQ-b^B<3~^vM4u%#mSdd{182$3}hG!hE_0GQ5eXO0EYL$(2v4EhH+r{8yGb0gqk7n1WPJdz5|P)9RfjyiD38v z3`Q^*kYN%S{t1Q_Fj$abG8ldag9!`*FEC80CB^V$k#OoD(sf|!0Fz)qqBHci6X}P* zaA{gC8T|kZ17Ns`4E||gA*DJ)1^9{d21^bYqFV#M<4nQ@nKS#e;e!>qXDY%TnCCQP zwifkrCbI*h*9#6AIh)9!BB6{7DI3pFFbBr(!&qfh>unAh)Q#1S*O0``a6(5u)S@r< zYuUA!;=9t;ySF*sO!boD{w>;A@t`=0&GFSKd%{l|gXEGzr7VK*e^|$D5_U`DwW<6> zR&9km;-Q|up?`i9+YMZ5yfz4HMdVyUXP((q8OoY^#pkd)?(iw~Sz*5`&pUA;RG`HD z>ARZD2!cJX$A7c3x-!2umZdh48G^M@Y&ISD&Hf;BHSS$Wiq2Oo?$;Ljmq-r?up&Y` zrMN{?L}UcPiN#?RoQ<$@B*s*dX!p>jY0PEqL9F(8y?_HjV6U@LJ0t>?$?#m5dZZJQip8!wzNT}8`x$>6&UHPTENRd=x6tH-Yaw>l% zZi#M?;u?9C)#Em%Pk)fj4;#%kx24T%8($pZzqG)2M$cv4%G(M0(M=u86fF{VV29E3 z7vm2836u9RxjFmCNd1_zna?X)6j}Uzw9l-<2^-}8uT3VHDScvQd`HI$g>2qMfm*lU z7AMqmRs$kvcn0^tvkof&$D>vn2kZ-)9r`qVtdek=|BfgilMuAC6+-tSmw0=&H z-yZFDub7Ib6_YNv@TN+GeGPl071mK%e7=}vmWADlvh3)ovZk1n`wB+uUQ6oL#hj-#mt~Ni*W=q8S>F^(Zr+?CE*BRO=EeMM zmQ^;`8PD9!3Vp-4?Y)Lw)2E5^MW|KMON*gk+z@>TO878}K@KbLw({HOLxRJ)-ETGWgKzSE4$fPCntM=NpOIeXe>0}=yXiWi{=#;-M8ipT|D?e0 zVvq0E#(*pzhB8@BR0SI*VEP}cu$W%uzQ(mWA@lp~s9LQz`n;-gZ}+!E=wExKsDB$d zfgPw*=eY9)cV90O*XSmw*@29Dr90pE?&~os$aidoq{MhLDyUXoz)<_f_GgdDBb8?( zNHHlR{f$Ds+YY&eoXo?`*&0N6hN=0}`a3mnO6U(SCai_yASJI~-{HZI({O(|vOLe& z<`q``^giwOpS9h~FGWQB&aVp^dn(RcEw8^oiYgdgtfIBvY0}^`Qt!!ibPIEUWQjwp zyV~%F%^h48e*)_$#y-vW@?~{U7k}aW9P)G&HeR+Y3M-q)kbEIvnM0V1O&7%7(q4SD ziMsMD=M`T2vVjZBx}^^;EE}NG3WyMI!>0uHM=e|Nd8sKxzq%`Hm4RAaKqPxNMaL2~ zxp{)!^$ldSSSrt%NBwhvGc9!r-X|YjD++;HRH^PrUv*6z3QZw>b+BzUtB7PfTC}4U z)S@vep^kTs?xhNTo*>af%}b8hZTm3dgxN(`2|yGku4W+~Wk1MQl~M`xi#*;i0s(ZDpCOwK$4D zJMJ2_@*XD`FQTgMapKv*&~l6SP|&Wsiz%r{cRbD!EccNgrqerOY7E!DI z%?TxJnb!6SRrha>@Aw}=E=G)>S9D!Nd}YKY{UGx^CiH1%XUcqKKZJZ#Fut%5?p#NA zl%6N(I|^UfF6yg)bI6H2jvo4}v&K;c5&mxr#2wY!gZRgA&E)z7X@_*6=9A0B{?K*;-- z_XB5vpP4DK$1LRioY>nQqF=&_O&l`ao!12>!TF2!8qzt&GEJn)ug zoOY?BKAq5g=u)5hXG%Kz11|6Ama^KCRy*DN&Bcu-PxI6YI!B6@2SLCx2$-Nd`y)y! z^mjV_X}@zsvR#3FMR{$Nx?Q>q@?kmmZp1@Tw{EaVQvJwLe@FM`Y2H@xZtl`XKp+>{ zI;Dg=^{Lo6=}aTE*%b9VtZbA~-2ZT<#4(pxE-dMm!XL|p5dBh%+Y%TKA9nYb98kF( zc5iUz%8QihKODa(Tbdd?>vv5ST@6B9)_LkD3A~&DVrK_2GXw?!NY{J}h)8 zOX}8uI^fVE(bZ>xut@; zg^?<7r-@m^V9tWEj3b%1lC45Q%$}8kdqi^cmMRI<{|evd%=AU54kr)ySV?)L(bTE zoBPTo?#wkq=~xvbdYQPB-oI-Rd%3%9ECb`Nh^MLee-Odc3y(P7@pLB>T;s|E+T(f8OYz8PJd?Vtw)@=05l?kP~=N>ix{OHR@zHOfR*~`5oZCTY$A2Ck4V~E zPDHBbep+f0;V-B3CIv}4jRBkL0tS+T&{V2)i8XEL#aZi8@-6=6kaq8;HZsGc5c%G8 zI@)j&#1^S{XE!I8LK8NDHFt^<3_cYq?_X8-j;{12;l4!dMRsYb;a*gHVo%j>3wBasjJI zs3VE81==N~fpucA&chy@dRmmeoF>@Lj3VQ~~2!;Q2p$~C#fJBn?)dwwo&v-9qUaF;KSFWYPOpWT-H9<_u; zgs9*D$iy2fN26=|%jLDCd6&#@sJh9g!eEcC@m@>L?$Y>`-WQ81GKMm&L#K9W;%ajo z?MWl=fv_X})4)%9V)OMnH%Cj`$a^HTFeYgSiyCcB_(Vq=&e*|vSHU~Y%K9|$hIv%U zV}4@2Z!lJbyD`gQn&M~yN-3!uB%gk7a@_m^Z;94K$acu9uz+hgJx#H{+KpNLc=*uM z^i0=HWG^MYDl|m&Rc zRDgZyD+&Bfx$I#P@lh~DveJmADFx7;+h15qP@6U%^;Pz3RggT$8qDfRv)4Li9al}I z5JZgH?!Xvq4l#zYdedeq`DO9x5yE0g*!d)Oi`h%prO)OAG^^T1LFm#DP|-MG5n{USpUxp_h?R+cx&P&fTSf z`?t`7vlWnCXrct27-LhuCEP9URnEvsyL0!|u6~14hi9J#|8- zm1~|=d}aN5ev6>D119;r9>YSI+I6R!e3mR%ZF|k&fy&xGG#!1OGP)Ccyq~5=?nUkz z$v$Xi+;uXF%Hk4A#)~~vGnbe!`;QWgnJ1$xu5h zMoT0~ue@SLyj+VX;*HPqV!p||Bo9Z$aR7F8CPGr3Z#dxrNno==T6SCv0b947} zI5IP?KS$Ep;;CHC#lHL(lUZ|o5cie|sHZ+A{>>8l@ zJct$Y9KWv!v63uj-P|=F8ydL%u8Nh3$V;4QN3(m>pVI_je5Yrr0#QF`8~J zzPxL6EzWDM&BapIH&mk+;V&+$m-7qFF|KdBAwXM6L_QP~LtSwrZwvJga6Q`I3u>xV zRv#z>$7|F#-P$N}zS?!%byS#uh_)3$BkwJt5q}q&iqotPS!X1Fw~XzW6>Li|T|DA4 zT?jIVWCXG9NV){gc&Jjw9(v8JLE7*EJp6%WB4G{^hA3rG?)7`bxS}j zQ7d3&*@rbFUI2NC7Rgx>rh>Ug!HQ9^GZPsSe<4dQ@sA*MvZu#O7_wzW?lL%0(4Bk8 z$lCGzc1b76U46y>j3f)wk=1Ir!Lq)uTQMPvJbvo6^+ha_(DhHC?`v(&`LHhmdK&|`pDs#ypPW@bz*acM@L zzi~ldU2u7aK3{Tp{;RG_xACr$czOCc_##4RAetCR<%V1CrH)`ubi!eztYA! zX`L{!t}d}om{eDnR3}WXt4ppEj{j0}#(ih)rK-kR#hJ5G_^TtMN>3G(`UFm__sDpq zE9U_A!C?vWS)=>D7PT8UY{t)G3l^}dEykqLZM!;|3th=UO^pxlFI_VS?1P4oM5Pn4T2B!0=G@oJ2bjVX^1cy&6D}*nhT3f zCRK(8twlkf8meLC=zNL|+oqQs>oi(yD%kO&(CP#6%lT;pvU|xEbOT& z1U#KOZ$e)>$ICAU^c#t% zR&v=OfbI^pw+C69yV_v_Y3prT+PAXS^G^$EFF5Z0<(l5v8tc_?H^b`b=$lUpq6TDM zL!DhqB(#!aSu3EGypcW$mZ^u@0U<9%=QXHyE=WkcyQO#1t^TmoIPNTy{eT?m?@zWw zWl8J{25Y$m-YprEjgw&xE}uNq=x$56lVkDxph)8WzRZj6kouuF=uY&_vP`bp)5SwA z>cGndG52nwHBU!k-;=0g%~PDc#D0_o&@PF(nA?#4P%xY@=@(cZdU{ibX_-yR99BnG01TBIdFT0p)enw<3bXd#Ohv!avzIsyk^6 zc*QY2YvgSdrn1;Pral{{(Dn&s#8_DBwa<(#RBj+Kk+5CmE2-^)gxJr1)x6VXcj50; zXCM(~n_OGm-WR~&d;-x|z&BrK@`lz>qx|kgHWZPJG?UD;Bb+%AgGoRZPcFeYRA>+( z4X3974Q{_R>myB*h_>+Q1)gn=QGG_hMQU{rA&PuY1lt+;HGd~c8vRS<0qc6aep1>8 z^+o=-^zM6pqK*U+xh}bJKZwW~3)42}NE}u6q$1#%l%Wdt7h!VkYL}5>IkhI32=t++ zj&Jv$vkMjdq^m{>{JGg3qGLkP)a`#MXx%j~H?3pyW;cABl%%V)W~u0Oa;vjx<~ z5F%`veYC9!N|$s>xZ2#>2vLg?8ed1O>CZ#skSXDb4#L`zifi5VK?@f`w9sp={nYC< z#At?9Mm-E6q%(L>8xlPQkri$i{YzWUYK1*v4Z>hu@Q0D&t9iQE6R}ixy;A_}%eQ{BI_<@ckoRz(zX!j1V< z$}*~8G%?z3bwPQ;dg^2>tP8z5nuu)e9!+e-q2_*T3P5EGyWkksw1P$iBkhRbJsJ_j zl@u$U_)yJY>}eW(sN&KO`Jb&ewAF}4CxwQDVLaOrt|yd0kMS>)IuY@aOtX(B0AmV6 zo&qEGlFkcJptO7nEDPs&N! z3pm`@H;EbE>e=(z!Y^c|nJx_AC6thciYe9A)$wqM$#mXA8lpSB%jt3UVz%&GhrhLB zo+23{o4@FI0Y9=sYvi$P+@YQSv+;xeG^tlrS?Q(=bjviFXQ=6T$3|)#&|+Ke$D}Tl z&=Wf()iR=aD8(l^lGJ@RhH_G-KSC&T*unvsDbJp8SBB7y0|;Ro$p|N^^yNx}q1<3F z0+!g)VzLl{(gJPWIrF72f5gex3n~~9>6GOF;j5NK>WMN^6qC~@&+KSRFD}qlbqfp% z+4L;TyD=&QWrSk4(BHol2tYpnS}_}r&4~;qbNc=Qd1l3%{D{cN$n*u1$n?ndEbYWh zINokKm2;U7CE4*}1&2{f7tNy>%_jfI-;YQcN!Xk%bCfpS)L z7hCw1Omb0|wQGMh@oH#+)+AXGq{R5VMFop^Jgljt!VN1-VrtmfxxnbIJMzp-NUfFc z9StdfqL!^Ifl5bCDvDR$iLb6UygKo!1Zx8m@hMTjZ+ebENxupBARD_M2ua5{!mBd1 zB*$RYS66qnF+2_wX(LhkE4Z`jvv9TvYccrkd#44HZ7acym@)HoHDHd`E~p>z@s>lm znVJ5Xnep+N{>@hiFYkd=fsuhdg|!n*Nwta%r9ko{r|7(^1-D2BG)D*l41*>s_;%DF zdLi+ArpXI)Z~bZM1)>s4zo~S z$Z-R5PsUoISyla$m6~?VO{Bj5r$C^1Gl>8~g@LVVk$UvOs@xhz#@!Zb-8|Zz)shfw?zprd^k5+E5O7Y0hW~H#}AEQ6=`psL4kN zUjj-CfqxUJyeY&|b%kyvQ!9>*-y=F}4mQa{d@oi4_NV_PzCiLe!v17^M$bD&NkX1y zEVa3u|fyrAGzI~2<_Fz@G}eY#6QWrDzpt6i#aUc?qJa9#V%x|bG9no^=k`! zs?r2{X#=TA7w1WSGM#44#q{oN;%ajRNAEdhrl^+Jsv6698K*v(M)=K^*m=Lr!+F1X zBY3~ALehpjIe5PvQy=I364EGX8sRflG6MMPZjW;t4*Weh`RZ`G?pSc$JW2~esE=dA z7{3{F4lEpwQoR`WnVs=N`D_EvuI?S}ufZUp5CA%8?rvt%2;OfX<{3y4@&`Qv90)-i z^Vv0fiqy0XA!Km}&CDgkfj_s&!f_Zb14qt?x#6WFfWHfK&TwVJK*P+Okr5|XAodYn zCflJ2R71omUv-S2|3d0}b<5<&Jn_ zDf_JvWgvO~I<6i@UHZMY_?(Zkco=p@mZ;>n3U31r|(ROrrpZUZuK z-*7T;!ME~}b@0w)!%$YEP*I?M+c{qY87PBGN2MlD%8imvH%#VFP)k1NjQ{U>zwuO8 z2C?Xg&|mE6F^^$?xpwGpfJq56ae)5%Ecd8u*+dd^`rMpWZVvJD6QRF*c&m6eu?>gu zSQbsrL&ei!Hvo{!GhCqld4wIWet^)wYJl=20QO-B{d)tPG=M>c3<&)@3WjDdv>*dQ z|K0+_Supe?1492!f}snA0bn17(7$)Ua2j6tOaC{N~`!Iz5eGi5PFsP6Lp?^Pup&1M<$bitle}UmF82XXnarCbcMzEKr0>(G^ zKSTdA5ia;kD?XQ)j0bxZegJr)ML(JQ zas{I-k%M!~RUD(#A7{167e!&2)b4y@ygRJR;X8r;!&bp3MOM z*~pmgwpBwDz0SBZFwv8_{R>t{=ZCQ?VZBVLBCvl3?m2;}sSSFeemam{hHW?c1!EM<89}oM%@tNeUko$O zSg}Gu&U0*~&BoIJjlTPH40B9N$4bEa606TnWKSfP!q!>?Qz45Is26(!+GSxD#llAV zRMIVk0UPQ0Z=#8~xaJ=iXYt^GmH#cNuYRRSeO-@@0{&}Sj$0lBJP9fb;ZiqO>6Xd3 z`}3HLaf7VY3Kc+tj21g1xY@8vIj$<0aRV5^Dmn2UFnmSYV44wB`U4|4seN3-^i4D) zxLwOt7;8xX-CC}+AI{#sWdG0OGA5mvUQUOpdsn2U83E?z!ClyR01tmb;9(^(=~IoT z>TZ~Cd~HuP76O4zX`j?ReTxE9l(_HHa!ng5rslBYI9WcjTm&YA!8v+Fj5h&R2`DMJmjx}|;ME&s4G2`*jCwPUe9}5I#n5hDDY>U0?WCwtjyqKh{GD* z5eVl(O(dKrMrW!cwlJn_0ooz|gowo~KU;4a+a(X%jECJQNRGg=d@7V@aV=A#ZdgOC zD)cM~Y={*}6>p;|lDchfF7I{8w>@E~VpZ)WEI`^RYYv()A?&^G7k>el4eqa*WWq;_ zbUsZk6s2<~EqZ$EIpEJyk|upg!e`bWr$4pXDB}L1j?+e9sSK>9L{3 zt1flpLdJ=0b-?D8;}4|OZvCBBzA2o^dLWgU)Cll9D=H?|L?)ED18`{Ed_6a?8LRw3 z>bKmO&VP-wa8HQ$p|1r-dE_DQT2XR7A84{`Gs$3afzPp%K@oDFM8vNhc2Cy;sfU0) z?lF|@0**cRE*$op_!FZ$<;HYul|TUFDC*)eqBR6stMRe|XtEsip8nah(}CW*p%tG+ z^xj5FP(VcUGM3$$4hY}C^ksKwgwID{AuzX{Yzsp8n5#_}pBFSxYYK=Y?_yy1+!4dK z8@3x_VY^{Ab-I9r3 z5TS!-pb@@sdULBYe&C4+-*FA~uOa{k$__Nf3>K!jw(`nYIa;CDqiyy~Xu54{@F&t6 zi1qy2f(n4=pr6wMa&?+@K~^OqDw5%4v~8Vr#-FM2hF3Sj3@iWoK%-ppje-3fS=L<; zGB0X;l}EMFgKI4E>@@~SrK@DDOgyBlyD?;8R4m-m(6?@xY`3Q4We2FHVuB1@B?0cd zkyq~RU)aOdrq_z%gZZ!n-Iq>%Q%nR9wte(>EYyQyVk~}yid#+utLat6ZpLwz($RgK z^Y43$}$NBF`I#oXAO+zNe3E$JO?8s6%I1wT5w6}F?U&Y{I=cZ%lm>V-%d>q~3 zTZS=1z$N1Nx}};6jPUh*ttJToK-;?HTNYP0fAh9h_|q(1{u`AL@X)qzcHAE7-^+?mVm1 zXA_MII`--Ba_@QfIe?<ocq z;hQMn-Zc9%a2+?A`k{n~ShS+*-~DyZG%B@L*dYtiuVfV@b_q^gEH68topv#LG1RkE z*eyFE2*0_@98d3lJ638BwtdX%+vl?c{nm8B%XexoI6`62JqtdF22rV5@T%J57? z^Np9*b-_L&khzPyrUTRmf4VM&Fqd{!E`~wRNT?5>Oc$uHoAIYm-*Mvzs87mkbgnrc zZ*hV8I^&z2K*0%y3)I&cXKV$i?+~uG!8axHSsgOIW5lpfo2Q#tWgv2(+u`vCRCJaCulzF#JBb=TK%YRH`#+(E~%nC=)}G0A*}Mn-vyx_k%+ z_?KTf5x_rXWCMVIWNbNuIb#U?D>2V8F1K@YMSj0T12?yU=Iy>ChGNlDtDYyMW9(0) zU68nP$ir*|+FhkRL=S;>3*}VT^F(~S-9yCFZ5juvnD6$CdsP(UeZhkw)FnCgOBS4^ z$W=swjR9%4UXlC9YkHcu9R2#(6q}y(X(S8^XqnUZp2u6#13`Sd& zPhENeQg7P|TZm7unppKLVS$mb$?Zjx(aEhYY7lNQZ5t~0(mLhK+5i}T789F$LM2wt z5NX=r7UEtjWU}aAGAR{^i}68Rv0Xm_K{o(EWaIaBxPGiC8_` z;NU1m-Cs|{`@Rr(qj6NRo>AwZW!7@XQWMLFml>Hh;Fo$(M#QP1GDtcV0cG+4-{j$> zuax(KOLt%Z(l>)9eT}Z9uasBjBz?~doTRUmx4}vJo|iaDUn#E~cYwaRgPd{KoTP8J zZmE;>HN%!OkiORt=_?;1eXlW=%`X-xhmpSLP1H{>I!Is6xRxiAzWod;Zv&A=(A%|Z zxj#_#8;I53i|7%z3w5{0M%}G9Q)L^833HY_H^1p zY#`(w$L{)Zh6{ElYh19q&bYom#qPS(o!DJ=+zA@HdvQ2+*EEFP zr9Kh6d!QJO-SxNcAHwdm)0z-=r-FIOU<<cU z`p&W8bgm7=zYtC*qkegb2>q{^y0XWZx7eafT_y`rtU@uFm*57j0%2RT2ptmOPE+w zmv~Z`w7)KCzc6`!UGje6`2BU`_X|_@*QIec;@B z59Yyc;uS2k$(5<&jCNt_P{P+OkEu}?MX}> zXIw8Zb)m&iVCv)!rmoB|oT)o6aAoTHbqx-t&Z4ieF?FF8!NtVJ zn7TUdi^G^YSOjuq>gu@vYfPQu2~3>=7L`=qh5rvsU3DEWbsdPQD@0746qq_jDlm2O z2E^2@q?tM}=IhBU#MB{|o;nd?>I9<@Q`d`_Iy24G5%q|vD?>~jax9HF=fc$4+CjA2 z08CvbwZD?^V5tH&tfj%anXHoIG8zL$+jPNIL5;%CoQ&CNjT5vp^IjYQ+AVYe?G~6^ zLAyl?SI}-zgA=sNul#}r?IzOG2CLh9PX_H^20Q|^iv`e5!1;y>3nC;o(yrNU;7O#N zK0rm2c2P8GS6cJM6G*$m{x^ZN3rnJ!gNQI{_ckKV-I-Is+hru$=b*08-D!yvx~t=E zdJMXQait4%chUvAgLMfP=Mc z=?`^D+r~omuyJ-pu)hVI9f_zgw9g)8pz;_LBZRkj#RNILF562}kO=#V--GSBR zfU{DtA=CrWZ3w@MfosPZ*%4OvIoLhG?l?Q_H^GjuI>*^ze*|`f)eW8P;RFK>R|R%B zFQdO84=CbBxRD7r9A}69d$1#{&T&R|l%RWHM_8TX?64DdN{$#o$z8YQ*2ypmD7ms$ zrGc38U!ZcU_7T%@PghVbc{vTr{ng*5rPpTz<&3Rm4FnfgD@LMn5#EswR4z(S6qCjn zB)hg17`xBjP1WsY?c6J8r3m_Wzo`awzSmzmcoYQsXsNo`2rq#^fH*yFwN$pal-E!QjhG9j5fx0tk`X3N~Y$ntYAMWYXjtPa?%Z z{x9mM?qN8(SHixp)xZH#d&x;qKMh}zx*&pmzu+&l(U`J6zHg5V4$Id}N3?EzjWBW4s+%&*U*oHZLrQShi}g`M(sKJfgN|u!GfmrZ^<$Qoc0y$?cMJnl|?GA;mfW6!8|P_}v>` zPVu`zhkH{y`=*yoMz6_(B_>R;4U*o7yOwp1d;eO$wbt%M~Fi8 z1z*m-;AS&R?%AbGmvDU8lSqAHgW#IE!i1nSjJ@~8bJ`%K4|hrz^RmY^B}2#AtXM<^ zH{&U|SwFS;1Q@YbG*&!(0G#cAm+d2%(y#yMy_URJ$Okwg(lCD97~c+Mo0g+gEDG2+ zOOUAr5E{~Okqo(dy8J{HPF+1p1gO)WA?_Fs#VvYJK%(1#G9j6{5=qSEG#Bj5bF|m7 zV!TFcb3$}u*CWm`uElSb3Tz0F7BO7QEcc+92PZPx8I8M4>&Ot3CK3!R_{eD0vKd~_ z`)X)x3ImiG4n&Xr(YbI0#8s9#$!$12w#xgB5iHfT6$>3m6ABJRy!Tk%TM#9*up~0k zDAlp2-+X#F4WxD(H!B`{jK`5Q-KIvW%ALy_Nw;lad#%CoDi|KokuXripWn$mH$39) zTa5FEM?5`kZXCpmp5FliNt)s!MvtJ|z7eEA#?WPl9)wo2`?mC-kTJ*x4+sas>W-cH zV?@TRORP~1*Q|SIX_Lg0kdWXFJge>W*thW`h53xJ-wzKlZqZ0txxHuQBc6E1x20yl z<#HerGTccl~u_#P|Q+Je(wp^Wm>*1W~H|$3nbYsPX(+gE3*O z0TmG*ND0K;_GEpcfipaNehiF1GNN3j>D5`G8oKmQ^|aN*%2L&p5z&WuO!^DPFhY*e z5!o=jBlvS(GAtSVp@*~;P2qSWi=;;y;1&*4G~WkF?mr$kt?_ouAH&#-NN`j^DL?0o zrrvmqQ20Gr<&FC`@#>R+FYkE^o?i6ql4S)&%b#2E{OT9h*1XXAf`Hq^zz@(cSn7_4A0AOncLIfUUr z_Ko2kMRbed2QNH(CVg`6 z#YJZ?B%IZ+IavAZnYPJy;BxvH6Y~XhnLcHJzUIe zdGBh_HjuUKTBIxNFm3|#W;ylhWg^U;JCdNh6sv<>xv!@FLA-eu>hXM<1#5%TB=M_-aZX(Io z{;M#x0QPJV`3cVV;`N;!uy{3>|+AtqJqV%TW(Mf zJ|^<)OvDihrTB#KvpXB4R(%4__6FyymV86){lw`^N&WZM zHV2rrzm<9*&Mj8I`A+U71vWR!AsW-;>ftJQAa`29gYK#kc?d5icU)`UX~XGc+fE91 zFCg;1gJFq{dosSl|E(Y{H3QEK4zy>F*v;ZD5qJFU75@FkxTzWD^h-wS!Kd)+Yvukz zq&*R8jZMp8@m2bOH~An?)|kS0Hn5mjRWw!N4jX{x3ELOL<<|D80{4!;o#u~j8&i^@ z%?ivQw%B&K`PUj>U~CFpLtJC?O9B(eikdZ|c>WnApw=?`pOW?+wKKm~80TIT=+@a% z#C(x_m0VU8tk#{y0kYf41EI1RQ4>}now8Z{7A?2$%9QwR6@BrUFSqRY2QV5uKfTi8 zdCcdIIpkV$19ujC5S4k$_?Ke z1ff;=_3D~el^x2Xg#vyz5NA(I-1hV{Hxr-$hlyqh7`~qU**%zg{u&MgkUN{zc0N@(7BX;r#nC%?|A7qr7&1`6P4R8kry4H2uGyYo%1o<`4Sy^X z6Vp&8HsPY~#ImI{E!H~WDzOp=m? zSljHlCfJHHam;h5wf8u__;b|KFMt*kA;Gs^%J2m-+eV9J$9LyGQSi-5{qY46qIj-q zpKNDnqe~==*I7@LcH0=)Ep5)QAoy}pEsI?RDviF(K!YqtuXZM|nO1yLdxczVOj&7H zeA{f5dA{pVeDezVs3*mt__o=q^gQcOe0x1`OXLJo1w$vjA<$%tx>L^U$6%*D%u`vX zJ+xz>p_|D@T5zq_xFIdL-AD_rbL{!;NDHpZt_4@oNqRjl26q~X!Nscw_D3XK*Utgw zv|T8lBL-y=WeEPeF3v@;rh2A}G#r`W5P`^!H(a(!!*x5jxa|0bnZu>w3<*z=hI`*3 z4X5ybc#`|GbJOvtU>vOt_W)_bxk$tP>f%H(?$4#+KBT4L)Gw82cKVt9K=eeFX$sg5 zzfLD}HGdd9hm>4|ya*o`y|{`zhh&M67nNkwi%WE<7zueXPYu_LGvJz%lF4fYMM+?Tij0EFc^y0c*oLK%`FV2`mh5Zhiwl9^GdyPLD!1X6QwV)2#oMnlH zdbhGR`*lk46%ib5>%B*xndPDu$EMZd)@F=ysKveT6|s)dJAvZ;hm%|??4SWN=1Swm zmEBVKW4sumf8NMm39Z6Nz)Z+HdUEZ0ey#?#<+bw)`fJj*BJ9G(D|G0dN3X~eMdUC_ z{WU>443PF$h3T8Rk`JppUbke)yt>}rqD6DUX?qTS}Js2{CPJpqi0 z>v8G{dalQzC(u=S*S5_eD;%yTV2K*8Ctx2jf6(L96L|EbU5==LTa?F5 z&=WX=77hNsv52M}Y3tCDi&}*yEtTYpB@b?Kqaj5Q8dCUC ztvwt8Y%zem%_x}Z%!Y{!_44<`#HYSlZe1fE3w{1D0xdiKj1xF*(yd~B0|eUAavqm- z5NO%)9a&FSNDI0JRPmCk@e|#9k8=?vIcE$Wp^(;_{=$E$kakWG z_LxH2IaTlog|v5F71GXGL4|C%LK=npWfhL6lVVp$Gle6Cw2gra&C!J*hxfQbnx@)S zA?-}IWeGb!-~HP^Q%K8B82B@Vv~yUbt3sMJoK{FneoP?^aU*@I@Fy#zjq!e5Ax)=t zRYWd#8^jda8b@mf=DtmQQ@@=P1aI+#M@Y>1SjiMwpY&IY_`!Sa~eSaw2l)-biPqb{gZ z9k1t4QK#$#L#K<{7zwWvsErN6@9CUsV|0~m33jTDJx#rJhX_itDU0RU+QytAVKEhG z{+K~n?CHS85i#X@MzsT#oXd@(e!m04V$VP;_9wz(O;T53v4seNT5N-$wz@)4N=~CN z=zm#QOn}B~*h|;r_;d>^q0aw{n6B@$1`<-PnH2y8T%1_G5k9 zkKNgRtbhBlfsd*p7B9W9FooZ9DDHz(1w_DtFZX(6oNeCz_9{`^^abUx9sH^qXsESD z-n#-02#k#yZPA3>X&Y-o0%N&cXo=5jb|8VVvfVlli+o(~V*+E7Ktt?*A}}^8a1aYm z*AEGd1tEbkwM}6xo(TeDuL2CEuHHFJU~JVB1;$hbNl~;z*s)KbN^$3F||WsY?#2;eG?a5Wv6zOT=>KIfTwts})IWC%| z35<;jT$P@(uEJGd?D#Mks&n+288(428wkFZyLP0&*cxbf{(FJ3_{RmtHpfgEAuwiv z^%K&o5y4QSTm;5OA%QV9tuW@!hyMt$;m-xeO7{W`b><_0p`KX|Fw|Q}U`&Ms#*QHv z>NeaBM8+cGIFxYc-{=wJ=$K~eX26Fd$r l3YD;ex(ojthY~y@rc#kJxxUnzM?}W9(~pQFryseW{XdsXAW#4R diff --git a/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-tvos.metallib b/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-tvos.metallib index 24fb1a88ed267510af3c80277be41a67ccba80d7..05a651916cd58d1fa47c0b1944867eadf5f1cc38 100644 GIT binary patch delta 31560 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 delta 29930 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 Vk{j;fN!yRz!`qJCbCwWzd3YnzSDiW&;_ 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 D&97B; diff --git a/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-xros.metallib b/Sources/UntoldEngine/UntoldEngineKernels/UntoldEngineKernels-xros.metallib index 531db89ad9d37f14e7a5361a1c74d8a82adeb8e2..db99d4d95d93d80525aade64f542506f1c086974 100644 GIT binary patch delta 31728 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 LwPV43sUXLiIH`{oq2V=ex+COl9 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 F{{giu!wvud delta 29722 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 YCCZdQ9{B}du 40 m shadow range). let csmCascadeCount: Int = 2 let shadowResolution: simd_int2 = .init(2048, 2048) +/// Fraction of each cascade interval used to cross-fade into the next cascade. +let csmCascadeBlendFraction: Float = 0.1 var rayTracingPipeline: ComputePipeline { get { diff --git a/Tests/UntoldEngineTests/ShadowCascadeTests.swift b/Tests/UntoldEngineTests/ShadowCascadeTests.swift index 936d5cf5a..822300e4f 100644 --- a/Tests/UntoldEngineTests/ShadowCascadeTests.swift +++ b/Tests/UntoldEngineTests/ShadowCascadeTests.swift @@ -2,13 +2,14 @@ // ShadowCascadeTests.swift // UntoldEngine // -// Tests for the two shadow rendering fixes: +// Tests for the shadow cascade configuration: // 1. csmCascadeCount reduced from 3 to 2. // 2. ShadowSystem.makeUniforms() handles variable cascade counts safely — // unused GPU uniform slots are filled with identity / zero so the shader // reads only the cascades indicated by the cascadeCount field. -// 3. shadowCascadeMaxDistance() clamps each cascade to its own split distance -// so the near cascade never receives shadow casters beyond its far plane. +// 3. ShadowSystem.cascadeNearDistance() widens each non-first cascade's +// frustum-fitting near plane to overlap the tail of the preceding cascade, +// matching the shader's cross-fade blend region. // // Copyright (C) Untold Engine Studios // @@ -51,6 +52,51 @@ final class ShadowSystemMakeUniformsTests: XCTestCase { "cascadeCount in the GPU uniform must match the engine constant") } + func testCascadeBlendStartsArePackedIntoUniforms() { + var sys = ShadowSystem() + sys.cascadeBlendStarts[0] = 18.0 + if csmCascadeCount > 1 { sys.cascadeBlendStarts[1] = 56.0 } + + let starts = sys.makeUniforms().cascadeBlendStarts + XCTAssertEqual(starts.0, 18.0, accuracy: 1e-6) + if csmCascadeCount > 1 { + XCTAssertEqual(starts.1, 56.0, accuracy: 1e-6) + } + if csmCascadeCount < 3 { + XCTAssertEqual(starts.2, starts.0, accuracy: 1e-6) + } + } + + func testCascadeWorldTexelSizesArePackedIntoUniforms() { + var sys = ShadowSystem() + sys.cascadeWorldTexelSizes[0] = 0.01 + if csmCascadeCount > 1 { sys.cascadeWorldTexelSizes[1] = 0.04 } + + let sizes = sys.makeUniforms().cascadeWorldTexelSizes + XCTAssertEqual(sizes.0, 0.01, accuracy: 1e-6) + if csmCascadeCount > 1 { + XCTAssertEqual(sizes.1, 0.04, accuracy: 1e-6) + } + if csmCascadeCount < 3 { + XCTAssertEqual(sizes.2, sizes.0, accuracy: 1e-6) + } + } + + func testCascadeDepthSpansArePackedIntoUniforms() { + var sys = ShadowSystem() + sys.cascadeDepthSpans[0] = 12.0 + if csmCascadeCount > 1 { sys.cascadeDepthSpans[1] = 36.0 } + + let spans = sys.makeUniforms().cascadeDepthSpans + XCTAssertEqual(spans.0, 12.0, accuracy: 1e-6) + if csmCascadeCount > 1 { + XCTAssertEqual(spans.1, 36.0, accuracy: 1e-6) + } + if csmCascadeCount < 3 { + XCTAssertEqual(spans.2, spans.0, accuracy: 1e-6) + } + } + func testUsedSlotsCarryAssignedMatrices() { var sys = ShadowSystem() let m0 = sentinel(1.0) @@ -169,77 +215,190 @@ final class ShadowSystemMakeUniformsTests: XCTestCase { } } -// MARK: - shadowCascadeMaxDistance +// MARK: - ShadowSystem.cascadeBlendStart -/// Tests for the per-cascade shadow distance helper. The logic determines how far from -/// the camera an entity may be and still cast a shadow into a given cascade — using the -/// cascade's own split distance as the tighter cap when it is less than the global max. -final class ShadowCascadeMaxDistanceTests: XCTestCase { - private let globalMax: Float = 40.0 +/// Tests for the single source of truth behind the cascade cross-fade boundary. +/// This value is computed once per frame on the CPU and uploaded via makeUniforms() +/// so the shader reads it directly instead of re-deriving it from cascadeSplits — +/// see cascadeBlendStart's doc comment for why this replaced two independently +/// hand-matched formulas (one in Swift, one in Metal). +final class ShadowSystemCascadeBlendStartTests: XCTestCase { + private let splits: [Float] = [20.0, 60.0, 150.0] - func testReturnsSplitDistanceWhenSplitIsTighter() { - // Cascade 0 split (e.g. 25 m) is inside the global 40 m cap → use split. - let result = shadowCascadeMaxDistance( - cascadeIdx: 0, - splitDistances: [25.0, 100.0], - globalMax: globalMax + func testBlendStartMatchesSplitWhenBlendFractionIsZero() { + let result = ShadowSystem.cascadeBlendStart(cascadeIdx: 0, splits: splits, blendFraction: 0.0) + XCTAssertEqual(result, splits[0], accuracy: 1e-6, + "With no blending, cascade 0 must fade out exactly at its own far split") + } + + func testBlendStartForFirstCascadeUsesZeroAsIntervalStart() { + // Cascade 0's interval is [0, 20]; blend width = 20 * 0.1 = 2. + let result = ShadowSystem.cascadeBlendStart(cascadeIdx: 0, splits: splits, blendFraction: 0.1) + XCTAssertEqual(result, 18.0, accuracy: 1e-6, + "Cascade 0 must start fading 10% of its own interval length before its split") + } + + func testBlendStartForLaterCascadeUsesPreviousSplitAsIntervalStart() { + // Cascade 1's interval is [20, 60], length 40; blend width = 40 * 0.1 = 4. + let result = ShadowSystem.cascadeBlendStart(cascadeIdx: 1, splits: splits, blendFraction: 0.1) + XCTAssertEqual(result, 56.0, accuracy: 1e-6, + "Cascade 1 must start fading 10% of its own interval length before its split") + } + + func testBlendFractionIsClampedToOneHalf() { + // Without this clamp, a fraction above 0.5 could push blendStart before the + // interval's own start. The shader no longer computes this at all — it reads + // cascadeBlendStarts directly — so this clamp is now the only place it happens. + let unclamped = ShadowSystem.cascadeBlendStart(cascadeIdx: 0, splits: splits, blendFraction: 0.9) + let clampedAtHalf = ShadowSystem.cascadeBlendStart(cascadeIdx: 0, splits: splits, blendFraction: 0.5) + XCTAssertEqual(unclamped, clampedAtHalf, accuracy: 1e-6, + "A blend fraction above 0.5 must be clamped to keep blendStart inside the interval") + } + + func testOutOfBoundsCascadeIndexReturnsZeroInsteadOfCrashing() { + let result = ShadowSystem.cascadeBlendStart(cascadeIdx: 5, splits: splits, blendFraction: 0.1) + XCTAssertEqual(result, 0.0, accuracy: 1e-6) + } +} + +// MARK: - ShadowSystem.cascadeNearDistance + +/// Tests for the cascade cross-fade near-plane widening: cascades after the first +/// must begin their frustum-fitting sub-frustum inside the tail of the preceding +/// cascade's interval, by `blendFraction` of that interval's length, so the fitted +/// frustum covers the receiver positions the shader's cross-fade blends over. +final class ShadowSystemCascadeNearDistanceTests: XCTestCase { + private let splits: [Float] = [20.0, 60.0, 150.0] + + func testMatchesCascadeBlendStartOfPrecedingCascade() { + // Documents the unification: the near-plane widening for cascade i is exactly + // the blend-start distance of cascade i-1, clamped to the camera's near plane — + // the same value the shader reads directly from cascadeBlendStarts[i-1]. + for cascadeIdx in 1 ..< splits.count { + let near = ShadowSystem.cascadeNearDistance( + cascadeIdx: cascadeIdx, splits: splits, cameraNear: 0.1, blendFraction: 0.1 + ) + let blendStart = ShadowSystem.cascadeBlendStart( + cascadeIdx: cascadeIdx - 1, splits: splits, blendFraction: 0.1 + ) + XCTAssertEqual(near, max(0.1, blendStart), accuracy: 1e-6) + } + } + + func testCascadeZeroStartsAtCameraNear() { + let result = ShadowSystem.cascadeNearDistance( + cascadeIdx: 0, splits: splits, cameraNear: 0.1, blendFraction: 0.1 ) - XCTAssertEqual(result, 25.0, accuracy: 1e-6, - "When cascade split < globalMax the split distance must be used") + XCTAssertEqual(result, 0.1, accuracy: 1e-6, + "The first cascade must start exactly at the camera's near plane") } - func testReturnsGlobalMaxWhenSplitIsWider() { - // Cascade 1 split (e.g. 500 m with far=500) exceeds the global cap → clamp. - let result = shadowCascadeMaxDistance( - cascadeIdx: 1, - splitDistances: [25.0, 500.0], - globalMax: globalMax + func testSecondCascadeOverlapsTailOfFirstIntervalByBlendFraction() { + // Cascade 1's own interval is [0, 20]; blend width = 20 * 0.1 = 2. + let result = ShadowSystem.cascadeNearDistance( + cascadeIdx: 1, splits: splits, cameraNear: 0.1, blendFraction: 0.1 ) - XCTAssertEqual(result, globalMax, accuracy: 1e-6, - "When cascade split > globalMax the global max must be used") + XCTAssertEqual(result, 18.0, accuracy: 1e-6, + "Cascade 1 must start 10% of cascade 0's interval length before cascade 0's split") } - func testReturnsSplitWhenSplitEqualsGlobalMax() { - // Exact equality: min(40, 40) = 40. - let result = shadowCascadeMaxDistance( - cascadeIdx: 0, - splitDistances: [40.0, 200.0], - globalMax: globalMax + func testThirdCascadeOverlapsTailOfSecondIntervalByBlendFraction() { + // Cascade 1's interval is [20, 60], length 40; blend width = 40 * 0.1 = 4. + let result = ShadowSystem.cascadeNearDistance( + cascadeIdx: 2, splits: splits, cameraNear: 0.1, blendFraction: 0.1 ) - XCTAssertEqual(result, 40.0, accuracy: 1e-6, - "When split equals globalMax the result must be globalMax") + XCTAssertEqual(result, 56.0, accuracy: 1e-6, + "Cascade 2 must start 10% of cascade 1's interval length before cascade 1's split") } - func testFallsBackToGlobalMaxWhenIndexOutOfBounds() { - // Safety guard: if cascadeIdx >= splitDistances.count use global max. - let result = shadowCascadeMaxDistance( - cascadeIdx: 5, - splitDistances: [25.0, 100.0], - globalMax: globalMax + func testResultNeverGoesBelowCameraNear() { + // A large blend fraction on a tiny first interval must still clamp to cameraNear. + let result = ShadowSystem.cascadeNearDistance( + cascadeIdx: 1, splits: [0.2, 60.0], cameraNear: 0.1, blendFraction: 0.5 ) - XCTAssertEqual(result, globalMax, accuracy: 1e-6, - "Out-of-bounds cascade index must fall back to globalMax, not crash") + XCTAssertGreaterThanOrEqual(result, 0.1, + "Widened near plane must never project in front of the camera's own near plane") } - func testFallsBackToGlobalMaxForEmptySplitDistances() { - let result = shadowCascadeMaxDistance( - cascadeIdx: 0, - splitDistances: [], - globalMax: globalMax + func testZeroBlendFractionDisablesOverlap() { + let result = ShadowSystem.cascadeNearDistance( + cascadeIdx: 1, splits: splits, cameraNear: 0.1, blendFraction: 0.0 ) - XCTAssertEqual(result, globalMax, accuracy: 1e-6, - "Empty splitDistances must fall back to globalMax") - } - - func testNearCascadeIsTighterThanFarCascade() { - // Validates the intent of the fix: cascade 0 gets a smaller max distance - // than cascade 1 when its split distance is within the global cap. - let splits: [Float] = [20.0, 500.0] - let near = shadowCascadeMaxDistance(cascadeIdx: 0, splitDistances: splits, globalMax: globalMax) - let far = shadowCascadeMaxDistance(cascadeIdx: 1, splitDistances: splits, globalMax: globalMax) - XCTAssertLessThan(near, far, - "Near cascade max distance must be less than far cascade max distance") - XCTAssertEqual(near, 20.0, accuracy: 1e-6) - XCTAssertEqual(far, globalMax, accuracy: 1e-6) + XCTAssertEqual(result, splits[0], accuracy: 1e-6, + "With no blending, cascade 1 must start exactly at cascade 0's far split") + } +} + +// MARK: - Cascade world-space caster reach + +/// Tests for the direction-agnostic distance reject in RenderPasses.shadowCasterEntityIds: +/// a caster farther than `cascadeWorldRadii[i] + maxShadowCastingDistance` from +/// `cascadeWorldCenters[i]` cannot matter to that cascade regardless of light direction, +/// so it is safe to drop before the more expensive light-space frustum test. +final class ShadowSystemCascadeCasterReachTests: XCTestCase { + private let originalMaxShadowCastingDistance = RenderPasses.maxShadowCastingDistance + + override func tearDown() { + RenderPasses.maxShadowCastingDistance = originalMaxShadowCastingDistance + } + + func testCasterWellWithinReachIsNotExcluded() { + RenderPasses.maxShadowCastingDistance = 40.0 + let center = simd_float3(100, 0, 0) + let radius: Float = 20.0 + let cascadeReach = radius + RenderPasses.maxShadowCastingDistance + + // A caster sitting right at the edge of the cascade's own bounding sphere. + let casterMin = simd_float3(100 + radius - 1, -1, -1) + let casterMax = simd_float3(100 + radius + 1, 1, 1) + + XCTAssertFalse(shadowEntityBeyondMaxDistance( + worldMin: casterMin, worldMax: casterMax, + cameraPosition: center, maxDistance: cascadeReach + ), "A caster at the edge of the cascade's own bounding sphere must never be excluded") + } + + func testCasterAtExactHorizonOfALowAngleShadowIsNotExcluded() { + // The whole point of this reject: a caster far from the cascade along the + // light's raking direction, but still within the engine's own shadow-distance + // horizon of the cascade's bounding sphere, must still be included — this is + // exactly the class of caster the old camera-depth cull incorrectly dropped. + RenderPasses.maxShadowCastingDistance = 100.0 + let center = simd_float3.zero + let radius: Float = 10.0 + let cascadeReach = radius + RenderPasses.maxShadowCastingDistance // 110 + + let farCaster = simd_float3(cascadeReach - 1, 0, 0) + XCTAssertFalse(shadowEntityBeyondMaxDistance( + worldMin: farCaster, worldMax: farCaster, + cameraPosition: center, maxDistance: cascadeReach + ), "A caster just inside the combined radius+horizon distance must be included") + } + + func testCasterBeyondTheEnginesShadowHorizonIsExcluded() { + RenderPasses.maxShadowCastingDistance = 40.0 + let center = simd_float3.zero + let radius: Float = 5.0 + let cascadeReach = radius + RenderPasses.maxShadowCastingDistance // 45 + + let veryFarCaster = simd_float3(cascadeReach + 1000, 0, 0) + XCTAssertTrue(shadowEntityBeyondMaxDistance( + worldMin: veryFarCaster, worldMax: veryFarCaster, + cameraPosition: center, maxDistance: cascadeReach + ), "A caster far beyond the engine's own shadow-distance horizon must be excluded") + } + + func testZeroGlobalShadowDistanceDisablesTheReject() { + // maxDistance == 0 means "no cap" per shadowEntityBeyondMaxDistance's contract. + RenderPasses.maxShadowCastingDistance = 0.0 + let center = simd_float3.zero + let radius: Float = 0.0 + let cascadeReach = radius + RenderPasses.maxShadowCastingDistance + + let veryFarCaster = simd_float3(1.0e6, 0, 0) + XCTAssertFalse(shadowEntityBeyondMaxDistance( + worldMin: veryFarCaster, worldMax: veryFarCaster, + cameraPosition: center, maxDistance: cascadeReach + ), "A zero combined reach must disable the reject entirely, not exclude everything") } } diff --git a/docs/Architecture/renderingSystem.md b/docs/Architecture/renderingSystem.md index de7ed28be..2ce9206bf 100644 --- a/docs/Architecture/renderingSystem.md +++ b/docs/Architecture/renderingSystem.md @@ -171,9 +171,13 @@ Both passes render scene geometry from the **directional light's point of view** The cascade count is 2 by default. Raise to 3 in `Globals.swift` for outdoor scenes that need a third far cascade beyond 40 m. -**Per-cascade shadow distance:** Each cascade only receives shadow casters within its own split distance (`shadowCascadeMaxDistance`). The effective limit is `min(maxShadowCastingDistance, cascadeSplitDistances[cascadeIdx])`. This prevents the near cascade from rendering distant objects that are only relevant to the far cascade, significantly reducing shadow draw calls in dense scenes. +**Cascade transitions:** The final 10% of each non-final cascade overlaps the next cascade. `ShadowSystem.cascadeBlendStart` computes this boundary once per frame on the CPU and is the single source of truth for it: the same value both widens the next cascade's frustum-fitting near plane and is uploaded to the shader (`cascadeBlendStarts`) for the cross-fade, so the two are never independently re-derived and cannot drift out of sync. The lighting shader samples both slices in the overlap and blends smoothly between them, avoiding a hard visibility change when camera motion moves stationary geometry across a split. -**Shadow softness:** CSM sampling uses a centered 16-tap Poisson PCF kernel. The default runtime softness is `nearRadiusTexels = 2.0`, `farRadiusTexels = 5.0`, with an `xrRadiusScale = 1.35` applied only in stereo XR. Use `setShadowSoftness(_:)` to tune this globally per scene. +**Directional caster culling:** Each cascade culls shadow casters in two stages. First, a direction-agnostic world-space distance reject: a caster farther than `maxShadowCastingDistance` from the cascade's own camera-frustum-slice bounding sphere (`ShadowSystem.cascadeWorldCenters`/`cascadeWorldRadii`) cannot matter to that cascade regardless of light direction, so it is dropped before the more expensive test. Second, the fitted light-space frustum is the correctness-preserving cull for what actually lands in the shadow map. Camera distance and cascade receiver splits alone are not valid caster-relevance tests for a directional light — an object outside the receiver's camera-depth interval can still project a shadow into it — which is why the distance reject is measured from the cascade's world-space bounds, not the camera. + +**Shadow softness:** CSM sampling uses a centered 16-tap Poisson PCF kernel. Softness is authored in cascade-0 texels, converted to a world-space radius, then converted into each sampled cascade's texels. This keeps the physical filter footprint consistent across cascade transitions. The default runtime softness is `nearRadiusTexels = 2.0`, `farRadiusTexels = 5.0`, with an `xrRadiusScale = 1.35` applied only in stereo XR. Use `setShadowSoftness(_:)` to tune this globally per scene. + +**Receiver bias:** The established cascade-0 bias is converted from normalized depth into a light-space world distance. Each cascade then converts that shared distance through its own fitted depth span before comparison. This prevents blended cascades from producing spatially offset shadow edges solely because their orthographic depth ranges differ. The shadow map produced here is consumed by the TBDR light sub-pass inside `model`.