Fix T79315 Normals Overlays broken with hidden geometry

Was caused by non-initialized variables before a return inside
the vertex shader.
This commit is contained in:
Clément Foucault 2020-09-16 20:15:56 +02:00
parent 5cf6f5e66d
commit 1fb7f36acb
Notes: blender-bot 2023-02-14 07:39:46 +01:00
Referenced by issue #79315, Normals Overlays broken with hidden geometry
1 changed files with 4 additions and 3 deletions

View File

@ -20,11 +20,14 @@ void main()
{
GPU_INTEL_VERTEX_SHADER_WORKAROUND
/* Avoid undefined behavior after return. */
finalColor = vec4(0.0);
gl_Position = vec4(0.0);
vec3 nor;
/* Select the right normal by checking if the generic attribute is used. */
if (!all(equal(lnor.xyz, vec3(0)))) {
if (lnor.w < 0.0) {
finalColor = vec4(0.0);
return;
}
nor = lnor.xyz;
@ -32,7 +35,6 @@ void main()
}
else if (!all(equal(vnor.xyz, vec3(0)))) {
if (vnor.w < 0.0) {
finalColor = vec4(0.0);
return;
}
nor = vnor.xyz;
@ -41,7 +43,6 @@ void main()
else {
nor = norAndFlag.xyz;
if (all(equal(nor, vec3(0)))) {
finalColor = vec4(0.0);
return;
}
finalColor = colorNormal;