-
-
Notifications
You must be signed in to change notification settings - Fork 938
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Port PrusaSlicer's Measure & Cut gizmos #2603
Conversation
…finition and manipulation (cherry picked from commit prusa3d/PrusaSlicer@d0bff2d )
…ing box (cherry picked from commit prusa3d/PrusaSlicer@22f3823)
(cherry picked from commit prusa3d/PrusaSlicer@bebb550)
- only 2 gizmo use cone (cherry picked from commit prusa3d/PrusaSlicer@3c7390e) (cherry picked from commit 4647fc4)
1) allow for custom vertex data layout 2) allow for custom index data format 3) allow for any OpenGL primitive type (cherry picked from commit prusa3d/PrusaSlicer@afcac6e)
…nd texture rendering Tech ENABLE_GLBEGIN_GLEND_REMOVAL - A few fixes in layers editing profile rendering (cherry picked from commit prusa3d/PrusaSlicer@a939d8e) (cherry picked from commit prusa3d/PrusaSlicer@8c807db)
(cherry picked from commit prusa3d/PrusaSlicer@eda5570)
(cherry picked from commit prusa3d/PrusaSlicer@1a47211)
(cherry picked from commit prusa3d/PrusaSlicer@deb17c5)
…er from 3DBed.hpp and replaced with GLModel (cherry picked from commit prusa3d/PrusaSlicer@6b04142)
…ay with GLModel - GLGizmoFlatten::PlaneData::vbo (cherry picked from commit prusa3d/PrusaSlicer@ffa3a1d)
…de of GLModel::Geometry (cherry picked from commit prusa3d/PrusaSlicer@be6b659)
…mat in dependence of data size, where possible (cherry picked from commit prusa3d/PrusaSlicer@4d2d77e)
…ostly unused, to avoid wasting GPU memory. Use a shared GLModel for Gizmos inheriting from GLGizmoPainterBase. Initialization of GLModels moved from constructor to render methods (cherry picked from commit prusa3d/PrusaSlicer@e3d5cd4)
…ay with GLModel: TriangleSelectorGUI::m_iva_enforcers TriangleSelectorGUI::m_iva_blockers TriangleSelectorGUI::m_iva_seed_fills TriangleSelectorGUI::m_varrays GLGizmoPainterBase::s_sphere (cherry picked from commit prusa3d/PrusaSlicer@8916a00)
…ur from GLGizmoPainterBase.hpp/.cpp and replaced with GLModel (cherry picked from commit prusa3d/PrusaSlicer@df3d670)
…ay with GLModel: MeshClipper::m_vertex_array (cherry picked from commit prusa3d/PrusaSlicer@be69227)
…lient code of GLModel::Geometry (cherry picked from commit prusa3d/PrusaSlicer@fa1ff1c)
…GLCanvas3D::init() (cherry picked from commit prusa3d/PrusaSlicer@aa4714a)
(cherry picked from commit prusa3d/PrusaSlicer@c9ff260)
(cherry picked from commit prusa3d/PrusaSlicer@0c74081)
(cherry picked from commit prusa3d/PrusaSlicer@5089d14)
(cherry picked from commit prusa3d/PrusaSlicer@5fcb618)
…ay with GLModel: GLVolume geometry + removed class GLIndexedVertexArray from codebase (cherry picked from commit prusa3d/PrusaSlicer@1eac357)
…e_arc(): Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Fix in GLModel::render() (cherry picked from commit prusa3d/PrusaSlicer@2379588)
(cherry picked from commit prusa3d/PrusaSlicer@5f9aeb1)
I think the crash has been fixed now. Your gif really helps, thanks! |
…ing part to other side + Added check objects after cut + CutUtils: Ensuring that volumes start with solid parts after solid parts merging for proper slicing (cherry picked from commit prusa3d/PrusaSlicer@a9410ed)
@Noisyfox yup, beautiful. Out of curiosity, what was causing that? |
I have to write some extra code to support plate selection as well as mouse interaction with those 6 icons next to the bed, and I made a few mistakes there. It failed to release the mouse detector when creating new projects and caused the crash. Linux Mint does something slightly differently which triggers the issue. |
|
It looks all good. For any issues, let's use ticket to track them and discord to discuss |
I love it... thanks @Noisyfox. I agree, you've done a fantastic work... |
Looks like the shading effect was not turn off for the transparent mode. |
Yeah I'm working on this issue right now. |
Hey @Noisyfox I've been getting a crash when closing the application on MacOS - ARM64 build consistently. I think it's related to this PR as it is triggered by the below with the m_objects_model being a null pointer which is used in the WX framework. I've tried debugging it but have failed miserably... ObjectList::~ObjectList() |
Crash log attached. |
@@ -304,6 +310,7 @@ ObjectList::ObjectList(wxWindow* parent) : | |||
|
|||
ObjectList::~ObjectList() | |||
{ | |||
delete m_objects_model; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line is causing crash when closing the application. Hence probably why the original BBL code did not have the destructor invoked.
I've opened a tiny PR to remove that line but feel that this is just a workaround, unless there is something upstream that can be debugged - #2904 |
Build on top of #2520 and replaces it.
This PR includes:
There was a plan to also port PrusaSlicer's emboss & svg tools, but this PR is already very big and the changes needed for emboss will be even bigger and might take forever to finish. So I decided to separate them so we can get something out and start rolling out testing builds for people to play with as soon as possible.
This was developed mainly using Windows, be prepared it could have graphic issue under Linux & macOS.
Huge credit to Prusa for their amazing job!
Fixes #717
Fixes #1150
Fixes #1590