From 219712788a4e40f1138493fb3bf1a10d3b138888 Mon Sep 17 00:00:00 2001 From: "jun.zhang" Date: Tue, 4 Mar 2025 19:29:01 +0800 Subject: [PATCH] ENH: silhouette effect jira: no-jira Change-Id: I1aca7242e87f15582384e4250b6329cdd0a48a69 (cherry picked from commit d141f81dc52eca0ac04aa17e26edf0005e82a6f9) --- resources/shaders/110/silhouette_composite.fs | 3 +++ resources/shaders/140/silhouette_composite.fs | 4 ++-- src/slic3r/GUI/GLCanvas3D.cpp | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/resources/shaders/110/silhouette_composite.fs b/resources/shaders/110/silhouette_composite.fs index d9c1157d9..2fe8d0e48 100644 --- a/resources/shaders/110/silhouette_composite.fs +++ b/resources/shaders/110/silhouette_composite.fs @@ -14,6 +14,9 @@ void main() vec4 pixels[9]; float deltaWidth = 1.0 / u_viewport_size.x; float deltaHeight = 1.0 / u_viewport_size.y; + float effect_width = 2.0f; + deltaWidth = deltaWidth * effect_width; + deltaHeight = deltaHeight * effect_width; pixels[0] = sample(-deltaWidth, deltaHeight ); pixels[1] = sample(0.0, deltaHeight ); pixels[2] = sample(deltaWidth, deltaHeight ); diff --git a/resources/shaders/140/silhouette_composite.fs b/resources/shaders/140/silhouette_composite.fs index 64a5d1622..7baf85d92 100644 --- a/resources/shaders/140/silhouette_composite.fs +++ b/resources/shaders/140/silhouette_composite.fs @@ -16,9 +16,9 @@ void main() vec4 pixels[9]; float deltaWidth = 1.0 / u_viewport_size.x; float deltaHeight = 1.0 / u_viewport_size.y; - float effect_width = 1.0f; - deltaWidth = deltaWidth * effect_width; + float effect_width = 2.0f; deltaWidth = deltaWidth * effect_width; + deltaHeight = deltaHeight * effect_width; pixels[0] = sample(-deltaWidth, deltaHeight ); pixels[1] = sample(0.0, deltaHeight ); diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index aa2963c81..dbc41df20 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -10256,7 +10256,7 @@ void GLCanvas3D::_render_silhouette_effect() } auto& ogl_manager = *p_ogl_manager; - float t_viewport_scale = 0.5f; + float t_viewport_scale = 1.0f; uint32_t viewport_width = 0; uint32_t viewport_height = 0; ogl_manager.get_viewport_size(viewport_width, viewport_height);