Browse Source

Fix perturbNormal2Arb() + DoubleSide.

Don McCurdy 7 years ago
parent
commit
63554297a8
1 changed files with 7 additions and 0 deletions
  1. 7 0
      src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl

+ 7 - 0
src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl

@@ -16,6 +16,13 @@
 		vec2 st1 = dFdy( vUv.st );
 
 		float scale = sign( st1.t * st0.s - st0.t * st1.s ); // we do not care about the magnitude
+
+		#ifdef DOUBLE_SIDED
+
+			scale *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );
+
+		#endif
+
 		vec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );
 		vec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );
 		vec3 N = normalize( surf_norm );