浏览代码

Fix flipped binormal in StandardMaterial3D triplanar mapping

This made normal maps on triplanar materials use an inverted Y direction
compared to non-triplanar materials.
Hugo Locurcio 4 年之前
父节点
当前提交
9a4c76ea12
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      scene/resources/material.cpp

+ 3 - 3
scene/resources/material.cpp

@@ -822,9 +822,9 @@ void BaseMaterial3D::_update_shader() {
 		code += "\tTANGENT+= vec3(1.0,0.0,0.0) * abs(NORMAL.z);\n";
 		code += "\tTANGENT = normalize(TANGENT);\n";
 
-		code += "\tBINORMAL = vec3(0.0,-1.0,0.0) * abs(NORMAL.x);\n";
-		code += "\tBINORMAL+= vec3(0.0,0.0,1.0) * abs(NORMAL.y);\n";
-		code += "\tBINORMAL+= vec3(0.0,-1.0,0.0) * abs(NORMAL.z);\n";
+		code += "\tBINORMAL = vec3(0.0,1.0,0.0) * abs(NORMAL.x);\n";
+		code += "\tBINORMAL+= vec3(0.0,0.0,-1.0) * abs(NORMAL.y);\n";
+		code += "\tBINORMAL+= vec3(0.0,1.0,0.0) * abs(NORMAL.z);\n";
 		code += "\tBINORMAL = normalize(BINORMAL);\n";
 	}