Fixed darker colors of objects inside multi-material gizmo when objects are mirrored.

This commit is contained in:
Lukáš Hejl 2021-10-25 08:41:41 +02:00
parent 9651ff19ef
commit 0f9a9de745
2 changed files with 6 additions and 0 deletions

View file

@ -22,6 +22,8 @@ uniform vec4 uniform_color;
varying vec3 clipping_planes_dots;
varying vec4 model_pos;
uniform bool volume_mirrored;
void main()
{
if (any(lessThan(clipping_planes_dots, ZERO)))
@ -34,6 +36,9 @@ void main()
triangle_normal = -triangle_normal;
#endif
if (volume_mirrored)
triangle_normal = -triangle_normal;
// First transform the normal into camera space and normalize the result.
vec3 eye_normal = normalize(gl_NormalMatrix * triangle_normal);

View file

@ -203,6 +203,7 @@ void GLGizmoMmuSegmentation::render_triangles(const Selection &selection) const
glsafe(::glMultMatrixd(trafo_matrix.data()));
shader->set_uniform("volume_world_matrix", trafo_matrix);
shader->set_uniform("volume_mirrored", is_left_handed);
m_triangle_selectors[mesh_id]->render(m_imgui);
glsafe(::glPopMatrix());