diff --git a/src/rendering/advanced-rendering.js b/src/rendering/advanced-rendering.js index d92a8902..87c37e75 100644 --- a/src/rendering/advanced-rendering.js +++ b/src/rendering/advanced-rendering.js @@ -1,5 +1,17 @@ import { BasicShadowMap, DirectionalLight, HalfFloatType, Mesh, NoToneMapping, PCFShadowMap, PCFSoftShadowMap, PointLight, SpotLight, UnsignedByteType } from "three"; import { BloomEffect, DepthOfFieldEffect, EffectComposer, EffectPass, RenderPass, SMAAEffect, SMAAPreset, SSAOEffect, ToneMappingEffect, ToneMappingMode } from "postprocessing"; +export function resolveBoxVolumeRenderPaths(settings) { + if (!settings.enabled) { + return { + fog: "performance", + water: "performance" + }; + } + return { + fog: settings.fogPath, + water: settings.waterPath + }; +} export function getAdvancedRenderingShadowMapType(shadowType) { switch (shadowType) { case "basic": diff --git a/src/rendering/advanced-rendering.ts b/src/rendering/advanced-rendering.ts index 735db1ea..2b2115f5 100644 --- a/src/rendering/advanced-rendering.ts +++ b/src/rendering/advanced-rendering.ts @@ -30,10 +30,30 @@ import { import type { AdvancedRenderingSettings, + BoxVolumeRenderPath, AdvancedRenderingShadowType, AdvancedRenderingToneMappingMode } from "../document/world-settings"; +export interface ResolvedBoxVolumeRenderPaths { + fog: BoxVolumeRenderPath; + water: BoxVolumeRenderPath; +} + +export function resolveBoxVolumeRenderPaths(settings: AdvancedRenderingSettings): ResolvedBoxVolumeRenderPaths { + if (!settings.enabled) { + return { + fog: "performance", + water: "performance" + }; + } + + return { + fog: settings.fogPath, + water: settings.waterPath + }; +} + export function getAdvancedRenderingShadowMapType(shadowType: AdvancedRenderingShadowType) { switch (shadowType) { case "basic":