diff --git a/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js b/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js index 996a17e149d156..d50b398c0fb0b4 100644 --- a/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js +++ b/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js @@ -1,6 +1,8 @@ export default /* glsl */` #ifdef USE_FOG + float fogDepth = precisionSafeLength( fogPosition ); + #ifdef FOG_EXP2 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth ); diff --git a/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js b/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js index 808c7c55cc222a..abe18797b6dadb 100644 --- a/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js +++ b/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js @@ -2,7 +2,7 @@ export default /* glsl */` #ifdef USE_FOG uniform vec3 fogColor; - varying float fogDepth; + varying vec3 fogPosition; #ifdef FOG_EXP2 diff --git a/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js b/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js index 284d460f48543b..5e64204c8e8df3 100644 --- a/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js +++ b/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js @@ -1,7 +1,7 @@ export default /* glsl */` #ifdef USE_FOG - varying float fogDepth; + varying vec3 fogPosition; #endif `; diff --git a/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js b/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js index ecfc773911a311..0028bcbc19cfb2 100644 --- a/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js +++ b/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js @@ -1,7 +1,7 @@ export default /* glsl */` #ifdef USE_FOG - fogDepth = -mvPosition.z; + fogPosition = mvPosition.xyz; #endif `;