#7461 - Use three floats for defining vertex normal to render travel toolpaths. This fixes a crash on NVIDIA Quadro graphics cards when turning on travel moves visibility in preview.

This commit is contained in:
enricoturri1966 2021-12-14 13:53:37 +01:00
parent 0538363b2b
commit cc2b8da6a4
2 changed files with 11 additions and 17 deletions

View file

@ -2,18 +2,8 @@
varying vec3 eye_normal;
vec3 world_normal()
{
// the world normal is always parallel to the world XY plane
// the x component is stored into gl_Vertex.w
float x = gl_Vertex.w;
float y = sqrt(1.0 - x * x);
return vec3(x, y, 0.0);
}
void main()
{
vec4 world_position = vec4(gl_Vertex.xyz, 1.0);
gl_Position = gl_ModelViewProjectionMatrix * world_position;
eye_normal = gl_NormalMatrix * world_normal();
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
eye_normal = gl_NormalMatrix * gl_Normal;
}