Only regenerate bed triangles if actually changed (#3039)

* Remove unused bed texture

* Only regenerate bed triangles if actually changed
This commit is contained in:
Noisyfox 2023-12-09 16:40:04 +08:00 committed by GitHub
parent d24aef36ae
commit f598a1209a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 5 deletions

View file

@ -609,7 +609,7 @@ void Bed3D::render_system(GLCanvas3D& canvas, const Transform3d& view_matrix, co
}*/ }*/
//BBS: add part plate related logic //BBS: add part plate related logic
void Bed3D::update_model_offset() const void Bed3D::update_model_offset()
{ {
// move the model so that its origin (0.0, 0.0, 0.0) goes into the bed shape center and a bit down to avoid z-fighting with the texture quad // move the model so that its origin (0.0, 0.0, 0.0) goes into the bed shape center and a bit down to avoid z-fighting with the texture quad
Vec3d shift = m_extended_bounding_box.center(); Vec3d shift = m_extended_bounding_box.center();
@ -626,11 +626,14 @@ void Bed3D::update_model_offset() const
// update extended bounding box // update extended bounding box
const_cast<BoundingBoxf3&>(m_extended_bounding_box) = calc_extended_bounding_box(); const_cast<BoundingBoxf3&>(m_extended_bounding_box) = calc_extended_bounding_box();
m_triangles.reset();
} }
void Bed3D::update_bed_triangles() void Bed3D::update_bed_triangles()
{ {
m_triangles.reset(); if (m_triangles.is_initialized()) {
return;
}
Vec3d shift = m_extended_bounding_box.center(); Vec3d shift = m_extended_bounding_box.center();
shift(2) = -0.03; shift(2) = -0.03;
@ -708,7 +711,7 @@ void Bed3D::render_custom(GLCanvas3D& canvas, const Transform3d& view_matrix, co
void Bed3D::render_default(bool bottom, const Transform3d& view_matrix, const Transform3d& projection_matrix) void Bed3D::render_default(bool bottom, const Transform3d& view_matrix, const Transform3d& projection_matrix)
{ {
m_texture.reset(); // m_texture.reset();
update_bed_triangles(); update_bed_triangles();

View file

@ -98,7 +98,7 @@ private:
//Polygon m_polygon; //Polygon m_polygon;
GLModel m_triangles; GLModel m_triangles;
//GLModel m_gridlines; //GLModel m_gridlines;
GLTexture m_texture; // GLTexture m_texture;
// temporary texture shown until the main texture has still no levels compressed // temporary texture shown until the main texture has still no levels compressed
//GLTexture m_temp_texture; //GLTexture m_temp_texture;
GLModel m_model; GLModel m_model;
@ -154,7 +154,7 @@ private:
//BBS: add partplate related logic //BBS: add partplate related logic
// Calculate an extended bounding box from axes and current model for visualization purposes. // Calculate an extended bounding box from axes and current model for visualization purposes.
BoundingBoxf3 calc_extended_bounding_box(bool consider_model_offset = true) const; BoundingBoxf3 calc_extended_bounding_box(bool consider_model_offset = true) const;
void update_model_offset() const; void update_model_offset();
//BBS: with offset //BBS: with offset
void update_bed_triangles(); void update_bed_triangles();
static std::tuple<Type, std::string, std::string> detect_type(const Pointfs& shape); static std::tuple<Type, std::string, std::string> detect_type(const Pointfs& shape);