Browse Source

Fix normal and tangent blending in blend shapes

Windy Darian 3 years ago
parent
commit
a3e016e07e
1 changed files with 3 additions and 3 deletions
  1. 3 3
      servers/rendering/renderer_rd/shaders/skeleton.glsl

+ 3 - 3
servers/rendering/renderer_rd/shaders/skeleton.glsl

@@ -160,7 +160,7 @@ void main() {
 				}
 
 				if (params.has_tangent) {
-					blend_tangent += decode_abgr_2_10_10_10(src_blend_shapes.data[base_offset]).rgb;
+					blend_tangent += decode_abgr_2_10_10_10(src_blend_shapes.data[base_offset]).rgb * w;
 				}
 
 				blend_total += w;
@@ -174,8 +174,8 @@ void main() {
 		}
 
 		vertex += blend_vertex;
-		normal += normalize(normal + blend_normal);
-		tangent.rgb += normalize(tangent.rgb + blend_tangent);
+		normal = normalize(normal + blend_normal);
+		tangent.rgb = normalize(tangent.rgb + blend_tangent);
 	}
 
 	if (params.has_skeleton) {