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:
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
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue