diff --git a/xs/src/slic3r/GUI/3DScene.cpp b/xs/src/slic3r/GUI/3DScene.cpp index e23641cb18..2d405e54ad 100644 --- a/xs/src/slic3r/GUI/3DScene.cpp +++ b/xs/src/slic3r/GUI/3DScene.cpp @@ -210,7 +210,7 @@ GLVolume::GLVolume(float r, float g, float b, float a) , selected(false) , is_active(true) , zoom_to_volumes(true) - , outside_printer_detection_enabled(true) + , shader_outside_printer_detection_enabled(false) , is_outside(false) , hover(false) , is_modifier(false) @@ -250,7 +250,7 @@ void GLVolume::set_render_color() set_render_color(is_outside ? SELECTED_OUTSIDE_COLOR : SELECTED_COLOR, 4); else if (hover) set_render_color(HOVER_COLOR, 4); - else if (is_outside && outside_printer_detection_enabled) + else if (is_outside && shader_outside_printer_detection_enabled) set_render_color(OUTSIDE_COLOR, 4); else set_render_color(color, 4); @@ -441,7 +441,7 @@ void GLVolume::render_VBOs(int color_id, int detection_id, int worldmatrix_id) c ::glColor4f(render_color[0], render_color[1], render_color[2], render_color[3]); if (detection_id != -1) - ::glUniform1i(detection_id, outside_printer_detection_enabled ? 1 : 0); + ::glUniform1i(detection_id, shader_outside_printer_detection_enabled ? 1 : 0); if (worldmatrix_id != -1) ::glUniformMatrix4fv(worldmatrix_id, 1, GL_FALSE, (const GLfloat*)world_matrix().data()); @@ -460,7 +460,7 @@ void GLVolume::render_VBOs(int color_id, int detection_id, int worldmatrix_id) c ::glColor4f(render_color[0], render_color[1], render_color[2], render_color[3]); if (detection_id != -1) - ::glUniform1i(detection_id, outside_printer_detection_enabled ? 1 : 0); + ::glUniform1i(detection_id, shader_outside_printer_detection_enabled ? 1 : 0); if (worldmatrix_id != -1) ::glUniformMatrix4fv(worldmatrix_id, 1, GL_FALSE, (const GLfloat*)world_matrix().data()); @@ -633,7 +633,7 @@ std::vector GLVolumeCollection::load_object( v.extruder_id = extruder_id; } v.is_modifier = model_volume->modifier; - v.outside_printer_detection_enabled = !model_volume->modifier; + v.shader_outside_printer_detection_enabled = !model_volume->modifier; v.set_origin(Pointf3(instance->offset.x, instance->offset.y, 0.0)); v.set_angle_z(instance->rotation); v.set_scale_factor(instance->scaling_factor); diff --git a/xs/src/slic3r/GUI/3DScene.hpp b/xs/src/slic3r/GUI/3DScene.hpp index 0cd2d81f0e..242487195e 100644 --- a/xs/src/slic3r/GUI/3DScene.hpp +++ b/xs/src/slic3r/GUI/3DScene.hpp @@ -289,8 +289,8 @@ public: bool is_active; // Whether or not to use this volume when applying zoom_to_volumes() bool zoom_to_volumes; - // Wheter or not this volume is enabled for outside print volume detection. - bool outside_printer_detection_enabled; + // Wheter or not this volume is enabled for outside print volume detection in shader. + bool shader_outside_printer_detection_enabled; // Wheter or not this volume is outside print volume. bool is_outside; // Boolean: Is mouse over this object? diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp index 79ec73625d..6bca173755 100644 --- a/xs/src/slic3r/GUI/GLCanvas3D.cpp +++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp @@ -3910,7 +3910,6 @@ void GLCanvas3D::_load_print_object_toolpaths(const PrintObject& print_object, c auto new_volume = [this, &new_volume_mutex](const float *color) -> GLVolume* { auto *volume = new GLVolume(color); new_volume_mutex.lock(); - volume->outside_printer_detection_enabled = false; m_volumes.volumes.emplace_back(volume); new_volume_mutex.unlock(); return volume; @@ -4063,7 +4062,6 @@ void GLCanvas3D::_load_wipe_tower_toolpaths(const std::vector& str_ auto new_volume = [this, &new_volume_mutex](const float *color) -> GLVolume* { auto *volume = new GLVolume(color); new_volume_mutex.lock(); - volume->outside_printer_detection_enabled = false; m_volumes.volumes.emplace_back(volume); new_volume_mutex.unlock(); return volume; @@ -4691,8 +4689,6 @@ void GLCanvas3D::_update_gcode_volumes_visibility(const GCodePreviewData& previe for (std::vector::iterator it = begin; it != end; ++it) { GLVolume* volume = *it; - // to avoid the shader to change the color of this volume if outside the print volume - volume->outside_printer_detection_enabled = false; switch (m_gcode_preview_volume_index.first_volumes[i].type) {