From cf54ad58edbaab0b7f83c6eda6f36096627c2119 Mon Sep 17 00:00:00 2001 From: tome9111991 <57866234+tome9111991@users.noreply.github.com> Date: Fri, 16 Jan 2026 20:05:48 +0100 Subject: [PATCH] Fix/blackcolor gcode preview (#11912) * Fix dark color rendering in G-code preview by using additive specular lighting * Revert "Fix dark color rendering in G-code preview by using additive specular lighting" This reverts commit 2a65bc90607c1b5e9b1beb460bc81a448b011427. * Fix dark color rendering in G-code preview (Standard & ES shaders) by using additive specular lighting * Fix dark color preview: Increase minimum brightness to 48/255 (~19%) * Refactor: Revert to combined lighting calculation in shaders --- src/slic3r/GUI/LibVGCode/LibVGCodeWrapper.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/LibVGCode/LibVGCodeWrapper.cpp b/src/slic3r/GUI/LibVGCode/LibVGCodeWrapper.cpp index b71d7cb3e9..a966a391f3 100644 --- a/src/slic3r/GUI/LibVGCode/LibVGCodeWrapper.cpp +++ b/src/slic3r/GUI/LibVGCode/LibVGCodeWrapper.cpp @@ -54,7 +54,11 @@ Slic3r::ColorRGBA convert(const Color& c) Color convert(const Slic3r::ColorRGBA& c) { - return { static_cast(c.r() * 255.0f), static_cast(c.g() * 255.0f), static_cast(c.b() * 255.0f) }; + // ORCA: Fix dark color rendering. Ensure minimal brightness. + auto safe_val = [](float v) -> uint8_t { + return std::max((uint8_t)(v * 255.0f), (uint8_t)48); + }; + return { safe_val(c.r()), safe_val(c.g()), safe_val(c.b()) }; } Color convert(const std::string& color_str)