From 19a7a47d532587cc510c9bcda0acd412c5771af6 Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Tue, 31 Jan 2023 14:24:22 +0100 Subject: [PATCH] Fixed rendering of sphere cursor in paint gizmos when the object is mirrored --- src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp b/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp index 8d2633774..3d88ad500 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp @@ -272,10 +272,6 @@ void GLGizmoPainterBase::render_cursor_sphere(const Transform3d& trafo) const #else const Transform3d complete_scaling_matrix_inverse = Geometry::Transformation(trafo).get_matrix(true, true, false, true).inverse(); #endif // ENABLE_WORLD_COORDINATE - const bool is_left_handed = Geometry::Transformation(trafo).is_left_handed(); - - if (is_left_handed) - glsafe(::glFrontFace(GL_CW)); ColorRGBA render_color = { 0.0f, 0.0f, 0.0f, 0.25f }; if (m_button_down == Button::Left) @@ -293,14 +289,18 @@ void GLGizmoPainterBase::render_cursor_sphere(const Transform3d& trafo) const shader->set_uniform("view_model_matrix", view_model_matrix); shader->set_uniform("projection_matrix", camera.get_projection_matrix()); + const bool is_left_handed = Geometry::Transformation(view_model_matrix).is_left_handed(); + if (is_left_handed) + glsafe(::glFrontFace(GL_CW)); + assert(s_sphere != nullptr); s_sphere->set_color(render_color); s_sphere->render(); - shader->stop_using(); - if (is_left_handed) glsafe(::glFrontFace(GL_CCW)); + + shader->stop_using(); }