Skip to content
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 new rendering infrastructure from PrusaSlicer #2520

Closed
wants to merge 59 commits into from

Conversation

Noisyfox
Copy link
Collaborator

No description provided.

@Noisyfox Noisyfox changed the title Port Port new rendering infrastructure from PrusaSlicer Oct 27, 2023
@Noisyfox Noisyfox marked this pull request as draft October 27, 2023 16:13
@SoftFever
Copy link
Owner

You are amazing 👍

@Eldenroot
Copy link
Contributor

Cool, thx

enricoturri1966 and others added 26 commits November 3, 2023 19:28
- 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)
…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)
…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)
…ay with GLModel: GLVolume geometry + removed class GLIndexedVertexArray from codebase

(cherry picked from commit prusa3d/PrusaSlicer@1eac357)
Noisyfox and others added 24 commits November 3, 2023 19:28
…d matrices in GLMmSegmentationGizmo3DScene

(cherry picked from commit prusa3d/PrusaSlicer@4eee0d0)
…background on older OpenGL compatibility profile

(cherry picked from commit prusa3d/PrusaSlicer@642f64c)
@Noisyfox
Copy link
Collaborator Author

Noisyfox commented Nov 4, 2023

Closed as being part of the #2603

@Noisyfox Noisyfox closed this Nov 4, 2023
SoftFever added a commit that referenced this pull request Nov 19, 2023
Build on top of #2520 and replaces it.

This PR includes:
- Rewrite the opengl rendering code, which now renders (almost)
everything using shaders instead of legacy opengl function calls
- Rewriting the gizmo mouse handling code that moves the mouse handling
coding into each gizmo themselves
- Rewriting the mouse picking code, now it uses ray casting to figure
out what's under the mouse cursor
- Porting of the PrusaSlicer's measure tool
- Replacing existing cuting tool with the better one PrusaSlicer has
- Updating of other gizmos using PrusaSlicer's latest code base

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!


![image](https://github.com/SoftFever/OrcaSlicer/assets/1537155/b7ec85d7-1013-4d8e-9914-c2b4d8cb5360)

![image](https://github.com/SoftFever/OrcaSlicer/assets/1537155/1e97d744-99c0-402d-9b23-456d95e07bba)

![image](https://github.com/SoftFever/OrcaSlicer/assets/1537155/f0a5dbea-677a-43f5-918b-c6817ff659c8)


Fixes #717
Fixes #1150
Fixes #1590
@Noisyfox Noisyfox deleted the dev/gl_rework branch November 20, 2023 03:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants