Преглед изворни кода

Merge pull request #68830 from Ayush-singla27/issuebranch

fixed incorrect mesh normals in shaders
Rémi Verschelde пре 2 година
родитељ
комит
3a43d44656

+ 1 - 1
drivers/gles3/shaders/scene.glsl

@@ -102,7 +102,7 @@ vec3 oct_to_vec3(vec2 e) {
 	vec3 v = vec3(e.xy, 1.0 - abs(e.x) - abs(e.y));
 	float t = max(-v.z, 0.0);
 	v.xy += t * -sign(v.xy);
-	return v;
+	return normalize(v);
 }
 
 #ifdef USE_INSTANCING

+ 1 - 1
servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl

@@ -62,7 +62,7 @@ vec3 oct_to_vec3(vec2 e) {
 	vec3 v = vec3(e.xy, 1.0 - abs(e.x) - abs(e.y));
 	float t = max(-v.z, 0.0);
 	v.xy += t * -sign(v.xy);
-	return v;
+	return normalize(v);
 }
 
 /* Varyings */

+ 1 - 1
servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl

@@ -63,7 +63,7 @@ vec3 oct_to_vec3(vec2 e) {
 	vec3 v = vec3(e.xy, 1.0 - abs(e.x) - abs(e.y));
 	float t = max(-v.z, 0.0);
 	v.xy += t * -sign(v.xy);
-	return v;
+	return normalize(v);
 }
 
 /* Varyings */

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

@@ -63,7 +63,7 @@ vec3 oct_to_vec3(vec2 oct) {
 	vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));
 	float t = max(-v.z, 0.0);
 	v.xy += t * -sign(v.xy);
-	return v;
+	return normalize(v);
 }
 
 vec3 decode_uint_oct_to_norm(uint base) {