From 8cdb5b0272c4f3d412f8e7b1b7513bcf73d3b1fa Mon Sep 17 00:00:00 2001 From: sentientstardust Date: Sat, 30 May 2026 02:15:04 +0100 Subject: [PATCH] Add 8x polygon tracing resolution. Disable surface scatter correction by default --- src/libslic3r/TextureMapping.hpp | 4 ++-- src/slic3r/GUI/Plater.cpp | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/libslic3r/TextureMapping.hpp b/src/libslic3r/TextureMapping.hpp index 6eeb4e02ced..01a4ec03481 100644 --- a/src/libslic3r/TextureMapping.hpp +++ b/src/libslic3r/TextureMapping.hpp @@ -206,7 +206,7 @@ struct TextureMappingZone static constexpr int DefaultTopSurfaceContoningPolygonizeResolution = 4; static constexpr bool DefaultTopSurfaceContoningSurfaceAnchoredStacksEnabled = false; static constexpr bool DefaultTopSurfaceContoningTdAdjustmentEnabled = true; - static constexpr bool DefaultTopSurfaceContoningSurfaceScatterEnabled = true; + static constexpr bool DefaultTopSurfaceContoningSurfaceScatterEnabled = false; static constexpr bool DefaultTopSurfaceContoningBeerLambertRgbCorrectionEnabled = false; static constexpr bool DefaultCompactOffsetMode = true; static constexpr bool DefaultUseLegacyFixedColorMode = false; @@ -304,7 +304,7 @@ struct TextureMappingZone static constexpr int normalize_top_surface_contoning_polygonize_resolution(int value) { - return value <= 1 ? 1 : (value >= 4 ? 4 : 2); + return value <= 1 ? 1 : (value >= 8 ? 8 : (value >= 4 ? 4 : 2)); } struct LinearGradientAnchor { diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 8860917d121..dcc71ae7dde 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2936,11 +2936,14 @@ public: wxArrayString contoning_polygonize_resolution_choices; contoning_polygonize_resolution_choices.Add(_L("1x")); contoning_polygonize_resolution_choices.Add(_L("2x")); - contoning_polygonize_resolution_choices.Add(_L("4x (slow)")); + contoning_polygonize_resolution_choices.Add(_L("4x")); + contoning_polygonize_resolution_choices.Add(_L("8x (slow)")); m_top_surface_contoning_polygonize_resolution_choice = new wxChoice(m_top_surface_contoning_polygonize_resolution_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, contoning_polygonize_resolution_choices); const int polygonize_resolution = TextureMappingZone::normalize_top_surface_contoning_polygonize_resolution(top_surface_contoning_polygonize_resolution); - m_top_surface_contoning_polygonize_resolution_choice->SetSelection(polygonize_resolution == 1 ? 0 : (polygonize_resolution == 4 ? 2 : 1)); + m_top_surface_contoning_polygonize_resolution_choice->SetSelection( + polygonize_resolution == 1 ? 0 : + (polygonize_resolution == 2 ? 1 : (polygonize_resolution == 4 ? 2 : 3))); contoning_polygonize_resolution_row->Add(m_top_surface_contoning_polygonize_resolution_choice, 1, wxEXPAND); contoning_checkboxes_root->Add(m_top_surface_contoning_polygonize_resolution_panel, 0, @@ -3474,7 +3477,13 @@ public: if (m_top_surface_contoning_polygonize_resolution_choice == nullptr) return TextureMappingZone::DefaultTopSurfaceContoningPolygonizeResolution; const int selection = m_top_surface_contoning_polygonize_resolution_choice->GetSelection(); - return selection == 0 ? 1 : (selection == 2 ? 4 : 2); + switch (selection) { + case 0: return 1; + case 1: return 2; + case 2: return 4; + case 3: return 8; + default: return TextureMappingZone::DefaultTopSurfaceContoningPolygonizeResolution; + } } bool top_surface_contoning_surface_anchored_stacks_enabled() const { @@ -3876,7 +3885,7 @@ private: upper = std::max(upper, lower); strong = std::max(strong, upper); return wxString::Format(_L("Recommendation based on highest TD: %d+ layers"), - lower); + upper); } wxString top_surface_contoning_shell_warning_text() const