From 6baf01d0e54186171c00ded25d67895bab2a44d8 Mon Sep 17 00:00:00 2001 From: RF47 <162915171+RF47@users.noreply.github.com> Date: Sun, 17 May 2026 17:45:06 -0300 Subject: [PATCH] phong in preview mode --- src/slic3r/GUI/GCodeViewer.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp index 01635e85b8..23f889337d 100644 --- a/src/slic3r/GUI/GCodeViewer.cpp +++ b/src/slic3r/GUI/GCodeViewer.cpp @@ -6,6 +6,7 @@ #include "libslic3r/Print.hpp" #include "libslic3r/Geometry.hpp" #include "libslic3r/Model.hpp" +#include "libslic3r/AppConfig.hpp" #include "libslic3r/Utils.hpp" #include "libslic3r/LocalesUtils.hpp" #include "libslic3r/PresetBundle.hpp" @@ -222,7 +223,11 @@ void GCodeViewer::SequentialView::Marker::render(int canvas_width, int canvas_he if (!m_visible) return; - GLShaderProgram* shader = wxGetApp().get_shader("gouraud_light"); + const bool reflections = wxGetApp().app_config != nullptr && + wxGetApp().app_config->get(SETTING_OPENGL_SHADING_MODEL) == "phong"; + GLShaderProgram* shader = wxGetApp().get_shader(reflections ? "phong" : "gouraud_light"); + if (shader == nullptr) + shader = wxGetApp().get_shader("gouraud_light"); if (shader == nullptr) return; @@ -2414,7 +2419,11 @@ void GCodeViewer::render_shells(int canvas_width, int canvas_height) //if (!m_shells.visible || m_shells.volumes.empty()) return; - GLShaderProgram* shader = wxGetApp().get_shader("gouraud_light"); + const bool reflections = wxGetApp().app_config != nullptr && + wxGetApp().app_config->get(SETTING_OPENGL_SHADING_MODEL) == "phong"; + GLShaderProgram* shader = wxGetApp().get_shader(reflections ? "phong" : "gouraud_light"); + if (shader == nullptr) + shader = wxGetApp().get_shader("gouraud_light"); if (shader == nullptr) return;