瀏覽代碼

Fix perturbNormal2Arb() + DoubleSide.

Don McCurdy 7 年之前
父節點
當前提交
63554297a8
共有 1 個文件被更改,包括 7 次插入0 次删除
  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 );