From 5678a61cf7e715c5b77ce4b92ecb62466612fe71 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Tue, 28 Apr 2026 04:07:07 +0200 Subject: [PATCH] Integrate distance fog pass into advanced rendering composer --- src/rendering/advanced-rendering.ts | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/rendering/advanced-rendering.ts b/src/rendering/advanced-rendering.ts index 5060d414..1ecd5324 100644 --- a/src/rendering/advanced-rendering.ts +++ b/src/rendering/advanced-rendering.ts @@ -47,6 +47,11 @@ import { POST_AO_TRANSPARENT_RENDER_LAYER_MASK, isMaterialEligibleForAmbientOcclusion } from "./render-layers"; +import { + DistanceFogPass, + resolveDistanceFogParameters, + shouldApplyDistanceFog +} from "./distance-fog-pass"; import { ScreenSpaceGlobalIlluminationPass, resolveDynamicGlobalIlluminationParameters @@ -270,8 +275,15 @@ export function createAdvancedRenderingComposer( ); const dynamicGlobalIlluminationEnabled = settings.enabled && dynamicGlobalIlluminationParameters.enabled; + const distanceFogParameters = resolveDistanceFogParameters( + settings.distanceFog + ); + const distanceFogEnabled = + settings.enabled && distanceFogParameters.enabled; const postWorldLayerIsolationEnabled = - settings.ambientOcclusion.enabled || dynamicGlobalIlluminationEnabled; + settings.ambientOcclusion.enabled || + dynamicGlobalIlluminationEnabled || + distanceFogEnabled; const mainRenderLayerMask = postWorldLayerIsolationEnabled ? AO_WORLD_RENDER_LAYER_MASK : ALL_RENDER_LAYER_MASK; @@ -353,6 +365,13 @@ export function createAdvancedRenderingComposer( } composer.addPass(new ShaderPass(new CopyMaterial())); + } + + if (distanceFogEnabled) { + composer.addPass(new DistanceFogPass(camera, distanceFogParameters)); + } + + if (postWorldLayerIsolationEnabled) { composer.addPass( createPostAmbientOcclusionRenderPass( scene,