Explorar o código

WebGLRenderer: Fix shadow bias with reversed depth buffer. (#32770)

Michael Herzog hai 1 mes
pai
achega
c3a8142c63

+ 2 - 2
src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js

@@ -267,14 +267,14 @@ export default /* glsl */`
 			#ifdef USE_REVERSED_DEPTH_BUFFER
 			#ifdef USE_REVERSED_DEPTH_BUFFER
 
 
 				float dp = ( shadowCameraNear * ( shadowCameraFar - viewSpaceZ ) ) / ( viewSpaceZ * ( shadowCameraFar - shadowCameraNear ) );
 				float dp = ( shadowCameraNear * ( shadowCameraFar - viewSpaceZ ) ) / ( viewSpaceZ * ( shadowCameraFar - shadowCameraNear ) );
+				dp -= shadowBias;
 
 
 			#else
 			#else
 
 
 				float dp = ( shadowCameraFar * ( viewSpaceZ - shadowCameraNear ) ) / ( viewSpaceZ * ( shadowCameraFar - shadowCameraNear ) );
 				float dp = ( shadowCameraFar * ( viewSpaceZ - shadowCameraNear ) ) / ( viewSpaceZ * ( shadowCameraFar - shadowCameraNear ) );
+				dp += shadowBias;
 
 
 			#endif
 			#endif
-			
-			dp += shadowBias;
 
 
 			// Hardware PCF with LinearFilter gives us 4-tap filtering per sample
 			// Hardware PCF with LinearFilter gives us 4-tap filtering per sample
 			// Use Vogel disk + IGN sampling for better quality
 			// Use Vogel disk + IGN sampling for better quality

粤ICP备19079148号