Forráskód Böngészése

WebGPURenderer: Fix VSM shadow artifacts. (#32327)

mrdoob 1 hónapja
szülő
commit
e3be204eb5
1 módosított fájl, 2 hozzáadás és 2 törlés
  1. 2 2
      src/nodes/lighting/ShadowNode.js

+ 2 - 2
src/nodes/lighting/ShadowNode.js

@@ -123,7 +123,7 @@ const VSMPassVertical = /*@__PURE__*/ Fn( ( { samples, radius, size, shadowPass,
 	mean.divAssign( samples );
 	squaredMean.divAssign( samples );
 
-	const std_dev = sqrt( squaredMean.sub( mean.mul( mean ) ) );
+	const std_dev = sqrt( squaredMean.sub( mean.mul( mean ) ).max( 0 ) );
 	return vec2( mean, std_dev );
 
 } );
@@ -168,7 +168,7 @@ const VSMPassHorizontal = /*@__PURE__*/ Fn( ( { samples, radius, size, shadowPas
 	mean.divAssign( samples );
 	squaredMean.divAssign( samples );
 
-	const std_dev = sqrt( squaredMean.sub( mean.mul( mean ) ) );
+	const std_dev = sqrt( squaredMean.sub( mean.mul( mean ) ).max( 0 ) );
 	return vec2( mean, std_dev );
 
 } );

粤ICP备19079148号