Bläddra i källkod

Fix the bug of shader effect (#1198)

The normal was not calculated correctly

Remove extra parenthesis
Tianle 4 månader sedan
förälder
incheckning
9456158841

+ 1 - 1
3d/sprites/shaders/paper_emission.gdshader

@@ -28,7 +28,7 @@ void fragment() {
 		ALBEDO = center.rgb;
 		ALPHA = center.a;
 		vec3 normal_tex = texture(normal_map, UV).rgb;
-		normal_tex = -(normal_tex * 2.0 - 1.0);
+		normal_tex = normal_tex * 2.0 - 1.0;
 		NORMAL = normalize(TANGENT * normal_tex.x + BINORMAL * normal_tex.y + NORMAL * normal_tex.z);
 	}
 }

+ 1 - 1
3d/sprites/shaders/paper_material.gdshader

@@ -21,7 +21,7 @@ void fragment() {
 	outline += step(threshold, texture(texture_albedo, uv - vec2(0.0, outline_thickness)).a);
 
 	vec3 normal_tex = texture(normal_map, UV).rgb;
-	normal_tex = -(normal_tex * 2.0 - 1.0);
+	normal_tex = normal_tex * 2.0 - 1.0;
 	NORMAL = normalize(TANGENT * normal_tex.x + BINORMAL * normal_tex.y + NORMAL * normal_tex.z);
 
 	if (center.a < threshold && outline > 0.0) {

+ 1 - 1
3d/sprites/shaders/paper_rainbow.gdshader

@@ -33,7 +33,7 @@ void fragment() {
 		ALBEDO = center.rgb;
 		ALPHA = center.a;
 		vec3 normal_tex = texture(normal_map, UV).rgb;
-		normal_tex = -(normal_tex * 2.0 - 1.0);
+		normal_tex = normal_tex * 2.0 - 1.0;
 		NORMAL = normalize(TANGENT * normal_tex.x + BINORMAL * normal_tex.y + NORMAL * normal_tex.z);
 	}
 }