소스 검색

Merge pull request #14633 from greggman/distance-fog

distance fog
Mr.doob 7 년 전
부모
커밋
3ba7d2b70a

+ 2 - 0
src/renderers/shaders/ShaderChunk/fog_fragment.glsl

@@ -1,5 +1,7 @@
 #ifdef USE_FOG
 
+	float fogDepth = length(fogPosition);
+
 	#ifdef FOG_EXP2
 
 		float fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );

+ 1 - 1
src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl

@@ -1,7 +1,7 @@
 #ifdef USE_FOG
 
 	uniform vec3 fogColor;
-	varying float fogDepth;
+	varying vec3 fogPosition;
 
 	#ifdef FOG_EXP2
 

+ 1 - 1
src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl

@@ -1,5 +1,5 @@
 #ifdef USE_FOG
 
-  varying float fogDepth;
+  varying vec3 fogPosition;
 
 #endif

+ 1 - 1
src/renderers/shaders/ShaderChunk/fog_vertex.glsl

@@ -1,4 +1,4 @@
 
 #ifdef USE_FOG
-fogDepth = -mvPosition.z;
+fogPosition = mvPosition.xyz;
 #endif