From 26b8ca6599ce9d084d7971e4ac8bcf86d2ec3277 Mon Sep 17 00:00:00 2001 From: "zhou.xu" Date: Fri, 8 Sep 2023 09:41:45 +0800 Subject: [PATCH] NEW:add flat shader for cut tool Jira:STUDIO-4227 thanks for PrusaSlcer and enricoturri1966 commit 76d1d4949bbd0964717f8112aae992a1267c5eb4 Author: enricoturri1966 Date: Mon Mar 21 13:10:47 2022 +0100 Tech ENABLE_GL_SHADERS_ATTRIBUTES - Added shaders for glsl version 140 ... Change-Id: I4db00805830f07a5eaa95cfc7b8254c61b86f0c8 --- resources/shaders/flat.fs | 8 ++++++++ resources/shaders/flat.vs | 11 +++++++++++ src/slic3r/GUI/GLShadersManager.cpp | 9 +++++---- 3 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 resources/shaders/flat.fs create mode 100644 resources/shaders/flat.vs diff --git a/resources/shaders/flat.fs b/resources/shaders/flat.fs new file mode 100644 index 0000000000..ab656998df --- /dev/null +++ b/resources/shaders/flat.fs @@ -0,0 +1,8 @@ +#version 110 + +uniform vec4 uniform_color; + +void main() +{ + gl_FragColor = uniform_color; +} diff --git a/resources/shaders/flat.vs b/resources/shaders/flat.vs new file mode 100644 index 0000000000..d9063f0c70 --- /dev/null +++ b/resources/shaders/flat.vs @@ -0,0 +1,11 @@ +#version 110 + +uniform mat4 view_model_matrix; +uniform mat4 projection_matrix; + +attribute vec3 v_position; + +void main() +{ + gl_Position = projection_matrix * view_model_matrix * vec4(v_position, 1.0); +} diff --git a/src/slic3r/GUI/GLShadersManager.cpp b/src/slic3r/GUI/GLShadersManager.cpp index 8a25bf6227..0d06d37332 100644 --- a/src/slic3r/GUI/GLShadersManager.cpp +++ b/src/slic3r/GUI/GLShadersManager.cpp @@ -34,11 +34,12 @@ std::pair GLShadersManager::init() bool valid = true; // used to render bed axes and model, selection hints, gcode sequential view marker model, preview shells, options in gcode preview - valid &= append_shader("gouraud_light", { "gouraud_light.vs", "gouraud_light.fs" }); + valid &= append_shader("gouraud_light", { "gouraud_light.vs", "gouraud_light.fs" }); //used to render thumbnail - valid &= append_shader("thumbnail", { "thumbnail.vs", "thumbnail.fs" }); - // used to render first layer for calibration - valid &= append_shader("cali", { "cali.vs", "cali.fs"}); + valid &= append_shader("thumbnail", { "thumbnail.vs", "thumbnail.fs" }); + // used to render first layer for calibration + valid &= append_shader("cali", { "cali.vs", "cali.fs"}); + valid &= append_shader("flat", {"flat.vs", "flat.fs"}); // used to render printbed valid &= append_shader("printbed", { "printbed.vs", "printbed.fs" }); // used to render options in gcode preview