Explorar el Código

normal_fragment.glsl: workaround for Adreno/Nexus 5 not supporting vec3 in dFdx/dFdy. Thanks @spite!

Mr.doob hace 9 años
padre
commit
4684e2902f
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  1. 2 2
      src/renderers/shaders/ShaderChunk/normal_fragment.glsl

+ 2 - 2
src/renderers/shaders/ShaderChunk/normal_fragment.glsl

@@ -1,7 +1,7 @@
 #ifdef FLAT_SHADED
 
-	vec3 fdx = dFdx( vViewPosition );
-	vec3 fdy = dFdy( vViewPosition );
+	vec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );
+	vec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );
 	vec3 normal = normalize( cross( fdx, fdy ) );
 
 #else