Răsfoiți Sursa

WebGLRenderer: Fix normal maps with `BackSide` and vertex tangents. (#33861)

Michael Herzog 3 săptămâni în urmă
părinte
comite
64b5b9d5ca

+ 0 - 6
src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js

@@ -53,11 +53,5 @@ transformedNormal = normalMatrix * transformedNormal;
 
 	transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz;
 
-	#ifdef FLIP_SIDED
-
-		transformedTangent = - transformedTangent;
-
-	#endif
-
 #endif
 `;

+ 6 - 0
src/renderers/shaders/ShaderChunk/normal_vertex.glsl.js

@@ -8,6 +8,12 @@ export default /* glsl */`
 		vTangent = normalize( transformedTangent );
 		vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );
 
+		#ifdef FLIP_SIDED
+
+			vBitangent = - vBitangent;
+
+		#endif
+
 	#endif
 
 #endif

粤ICP备19079148号