From 6c79a17c7aa6a43740f944a07c6ba6040c64e345 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Sat, 3 Jan 2026 20:57:17 +0100 Subject: [PATCH] Fix DDGI cascade placement when using large probes spacing Revert fa38f0ac91eb2a771ffac271709664a6e0deca9d after b24d98df9eea0ed2d085ac0a2ed48d5fb4af8188 fixed the source of the problem --- .../Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp b/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp index 63a8ef151..0ccb9aa02 100644 --- a/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp +++ b/Source/Engine/Renderer/GI/DynamicDiffuseGlobalIllumination.cpp @@ -365,10 +365,10 @@ bool DynamicDiffuseGlobalIlluminationPass::RenderInner(RenderContext& renderCont // Calculate view origin for cascade by shifting it towards the view direction to account for better view frustum coverage Float3 viewOrigin = renderContext.View.Position; Float3 viewDirection = renderContext.View.Direction; - const Float3 probesDistance = Float3(probesCounts) * cascadeProbesSpacing; + const Float3 probesDistance = Float3(probesCounts - 1) * cascadeProbesSpacing; const float probesDistanceMax = probesDistance.MaxValue(); const Float3 viewRayHit = CollisionsHelper::LineHitsBox(viewOrigin, viewOrigin + viewDirection * (probesDistanceMax * 2.0f), viewOrigin - probesDistance, viewOrigin + probesDistance); - const float viewOriginOffset = viewRayHit.Y * probesDistanceMax * 0.4f; + const float viewOriginOffset = viewRayHit.Y * probesDistanceMax * 0.6f; viewOrigin += viewDirection * viewOriginOffset; //viewOrigin = Float3::Zero; blendOrigins[cascadeIndex] = viewOrigin;