Преглед на файлове

Merge pull request #17631 from gkjohnson/fix-logdepth-noise

Logarithmic Depth Buffer: improve test for detecting perspective matrix in fragment shader
Michael Herzog преди 6 години
родител
ревизия
30aea4095e
променени са 1 файла, в които са добавени 3 реда и са изтрити 1 реда
  1. 3 1
      src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js

+ 3 - 1
src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js

@@ -1,7 +1,9 @@
 export default /* glsl */`
 #if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )
 
-	gl_FragDepthEXT = vIsPerspective == 1.0 ? log2( vFragDepth ) * logDepthBufFC * 0.5 : gl_FragCoord.z;
+	// Doing a strict comparison with == 1.0 can cause noise artifacts
+	// on some platforms. See issue #17623.
+	gl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;
 
 #endif
 `;