Pass plate chrome suppression as a render argument

This commit is contained in:
SoftFever
2026-08-28 02:07:25 +08:00
parent 72639ee12a
commit 0eae703030
3 changed files with 9 additions and 23 deletions
+1 -6
View File
@@ -8096,12 +8096,7 @@ void GLCanvas3D::_render_bed(const Transform3d& view_matrix, const Transform3d&
void GLCanvas3D::_render_platelist(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body, int hover_id, bool render_cali, bool show_grid) void GLCanvas3D::_render_platelist(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body, int hover_id, bool render_cali, bool show_grid)
{ {
// SnapOrca Design: transiently suppress plate chrome for opted-out canvases. wxGetApp().plater()->get_partplate_list().render(view_matrix, projection_matrix, bottom, only_current, only_body, hover_id, render_cali, show_grid, !m_plate_chrome_enabled);
auto& plate_list = wxGetApp().plater()->get_partplate_list();
const bool prev_hide_chrome = plate_list.get_hide_chrome();
plate_list.set_hide_chrome(!m_plate_chrome_enabled);
plate_list.render(view_matrix, projection_matrix, bottom, only_current, only_body, hover_id, render_cali, show_grid);
plate_list.set_hide_chrome(prev_hide_chrome);
} }
void GLCanvas3D::_render_shadows(const Transform3d& view_matrix, const Transform3d& projection_matrix) void GLCanvas3D::_render_shadows(const Transform3d& view_matrix, const Transform3d& projection_matrix)
+6 -8
View File
@@ -3485,7 +3485,7 @@ bool PartPlate::intersects(const BoundingBoxf3& bb) const
return print_volume.intersects(bb); return print_volume.intersects(bb);
} }
void PartPlate::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body, bool force_background_color, HeightLimitMode mode, int hover_id, bool render_cali, bool show_grid) void PartPlate::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body, bool force_background_color, HeightLimitMode mode, int hover_id, bool render_cali, bool show_grid, bool hide_chrome)
{ {
glsafe(::glEnable(GL_DEPTH_TEST)); glsafe(::glEnable(GL_DEPTH_TEST));
@@ -3536,8 +3536,6 @@ void PartPlate::render(const Transform3d& view_matrix, const Transform3d& projec
if (wxGetApp().show_plate_gridlines() && show_grid) if (wxGetApp().show_plate_gridlines() && show_grid)
render_grid(bottom); render_grid(bottom);
const bool hide_chrome = m_partplate_list && m_partplate_list->get_hide_chrome();
if (!hide_chrome && !bottom && m_selected && !force_background_color) { if (!hide_chrome && !bottom && m_selected && !force_background_color) {
if (m_partplate_list) if (m_partplate_list)
render_logo(bottom, m_partplate_list->render_cali_logo && render_cali); render_logo(bottom, m_partplate_list->render_cali_logo && render_cali);
@@ -5954,7 +5952,7 @@ void PartPlateList::postprocess_arrange_polygon(arrangement::ArrangePolygon& arr
/*rendering related functions*/ /*rendering related functions*/
//render //render
void PartPlateList::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body, int hover_id, bool render_cali, bool show_grid) void PartPlateList::render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current, bool only_body, int hover_id, bool render_cali, bool show_grid, bool hide_chrome)
{ {
const std::lock_guard<std::mutex> local_lock(m_plates_mutex); const std::lock_guard<std::mutex> local_lock(m_plates_mutex);
std::vector<PartPlate*>::iterator it = m_plate_list.begin(); std::vector<PartPlate*>::iterator it = m_plate_list.begin();
@@ -5979,15 +5977,15 @@ void PartPlateList::render(const Transform3d& view_matrix, const Transform3d& pr
if (current_index == m_current_plate) { if (current_index == m_current_plate) {
PartPlate::HeightLimitMode height_mode = (only_current)?PartPlate::HEIGHT_LIMIT_NONE:m_height_limit_mode; PartPlate::HeightLimitMode height_mode = (only_current)?PartPlate::HEIGHT_LIMIT_NONE:m_height_limit_mode;
if (plate_hover_index == current_index) if (plate_hover_index == current_index)
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, plate_hover_action, render_cali, show_grid); (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, plate_hover_action, render_cali, show_grid, hide_chrome);
else else
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, -1, render_cali, show_grid); (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, height_mode, -1, render_cali, show_grid, hide_chrome);
} }
else { else {
if (plate_hover_index == current_index) if (plate_hover_index == current_index)
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, plate_hover_action, render_cali, show_grid); (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, plate_hover_action, render_cali, show_grid, hide_chrome);
else else
(*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, -1, render_cali, show_grid); (*it)->render(view_matrix, projection_matrix, bottom, only_body, false, PartPlate::HEIGHT_LIMIT_NONE, -1, render_cali, show_grid, hide_chrome);
} }
} }
} }
+2 -9
View File
@@ -419,7 +419,7 @@ public:
bool contains(const BoundingBoxf3& bb) const; bool contains(const BoundingBoxf3& bb) const;
bool intersects(const BoundingBoxf3& bb) const; bool intersects(const BoundingBoxf3& bb) const;
void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body = false, bool force_background_color = false, HeightLimitMode mode = HEIGHT_LIMIT_NONE, int hover_id = -1, bool render_cali = false, bool show_grid = true); void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_body = false, bool force_background_color = false, HeightLimitMode mode = HEIGHT_LIMIT_NONE, int hover_id = -1, bool render_cali = false, bool show_grid = true, bool hide_chrome = false);
void set_selected(); void set_selected();
void set_unselected(); void set_unselected();
@@ -631,11 +631,6 @@ class PartPlateList : public ObjectBase
bool render_bedtype_logo = true; bool render_bedtype_logo = true;
bool render_plate_settings = true; bool render_plate_settings = true;
bool render_cali_logo = true; bool render_cali_logo = true;
// SnapOrca Design: when true, PartPlate::render skips all overlay chrome
// (corner icons, logo watermark, plate numbers) but keeps the bed grid.
// Toggled transiently per-frame by GLCanvas3D::_render_platelist for the
// DesignCanvas; stays false for the main editor.
bool m_hide_chrome = false;
bool m_is_dark = false; bool m_is_dark = false;
@@ -863,11 +858,9 @@ public:
/*rendering related functions*/ /*rendering related functions*/
void on_change_color_mode(bool is_dark) { m_is_dark = is_dark; } void on_change_color_mode(bool is_dark) { m_is_dark = is_dark; }
void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current = false, bool only_body = false, int hover_id = -1, bool render_cali = false, bool show_grid = true); void render(const Transform3d& view_matrix, const Transform3d& projection_matrix, bool bottom, bool only_current = false, bool only_body = false, int hover_id = -1, bool render_cali = false, bool show_grid = true, bool hide_chrome = false);
void set_render_option(bool bedtype_texture, bool plate_settings); void set_render_option(bool bedtype_texture, bool plate_settings);
void set_render_cali(bool value = true) { render_cali_logo = value; } void set_render_cali(bool value = true) { render_cali_logo = value; }
void set_hide_chrome(bool value) { m_hide_chrome = value; }
bool get_hide_chrome() const { return m_hide_chrome; }
void register_raycasters_for_picking(GLCanvas3D& canvas) void register_raycasters_for_picking(GLCanvas3D& canvas)
{ {
for (auto plate : m_plate_list) for (auto plate : m_plate_list)