aboutsummaryrefslogtreecommitdiff
path: root/client/shaders/object_shader/opengl_vertex.glsl
diff options
context:
space:
mode:
authorDanila Shutov <dcbrwn2@gmail.com>2020-06-09 22:38:09 +0300
committerGitHub <noreply@github.com>2020-06-09 21:38:09 +0200
commitfe3e69eb4029626cd7ef3f7a1c2beaec13ba7364 (patch)
tree238d4eafd2a4ada76f79f0810c77c546a1b35a8f /client/shaders/object_shader/opengl_vertex.glsl
parent7148834440d10bc211628aa2652e31166bdd58a0 (diff)
downloadminetest-fe3e69eb4029626cd7ef3f7a1c2beaec13ba7364.tar.gz
minetest-fe3e69eb4029626cd7ef3f7a1c2beaec13ba7364.tar.bz2
minetest-fe3e69eb4029626cd7ef3f7a1c2beaec13ba7364.zip
Fix broken coloring of wielditems (#9969)
Fixes a regression that appeared in 5.3.0-dev.
Diffstat (limited to 'client/shaders/object_shader/opengl_vertex.glsl')
-rw-r--r--client/shaders/object_shader/opengl_vertex.glsl7
1 files changed, 6 insertions, 1 deletions
diff --git a/client/shaders/object_shader/opengl_vertex.glsl b/client/shaders/object_shader/opengl_vertex.glsl
index 488089392..59171145f 100644
--- a/client/shaders/object_shader/opengl_vertex.glsl
+++ b/client/shaders/object_shader/opengl_vertex.glsl
@@ -38,7 +38,12 @@ void main(void)
lightVec = sunPosition - worldPosition;
eyeVec = -(gl_ModelViewMatrix * gl_Vertex).xyz;
- vIDiff = directional_ambient(normalize(gl_Normal));
+
+ // This is intentional comparison with zero without any margin.
+ // If normal is not equal to zero exactly, then we assume it's a valid, just not normalized vector
+ vIDiff = length(gl_Normal) == 0.0
+ ? 1.0
+ : directional_ambient(normalize(gl_Normal));
gl_FrontColor = gl_BackColor = gl_Color;
}