Commit Graph

120 Commits

Author SHA1 Message Date
enricoturri1966
a0b89dc5ce GCodeViewer -> Export of extrude toolpaths to obj files 2020-07-03 12:17:12 +02:00
enricoturri1966
bf91b34021 Added new tech ENABLE_GCODE_VIEWER_AS_STATE -> GCodeViewer as a new application state (WIP) + fix of conflicts after merge with master 2020-06-05 16:50:17 +02:00
Vojtech Bubnik
297fec4ab6 Reduced ugly copy / paste for ENABLE_OPENGL_ERROR_LOGGING 2020-06-04 15:53:58 +02:00
enricoturri1966
2146246964 Added tech ENABLE_OPENGL_ERROR_LOGGING -> log opengl errors when SLIC3R_LOGLEVEL=5 2020-06-04 14:48:52 +02:00
enricoturri1966
fdac77be36 Fixed conflicts after merge with master 2020-06-04 13:57:39 +02:00
enricoturri1966
866a3ad357 New tech ENABLE_SMOOTH_NORMALS (disabled) -> Added two experimental functions to smooth normals using libigl (none of them working properly in detecting edges) when calling GLIndexedVertexArray::load_mesh_full_shading() 2020-06-02 10:02:50 +02:00
enricoturri1966
acd8801d3a Fixed conflicts after merge with master 2020-05-27 10:32:02 +02:00
enricoturri1966
ce42c67a2a ENABLE_GCODE_VIEWER -> Completed implementation of new GLModel class 2020-05-27 08:06:02 +02:00
Lukas Matena
c15a0d91bf Fixed unit tests after previous include manipulations 2020-05-26 15:33:44 +02:00
Lukas Matena
a8628a040c Include cleanup: do not include Model.hpp from 3DScene.hpp 2020-05-26 13:45:36 +02:00
enricoturri1966
3f675370fc ENABLE_SHADERS_MANAGER -> Unified client code of new GLShadersManager and GLShaderProgram classes 2020-05-21 10:15:00 +02:00
enricoturri1966
71a686624a Tech ENABLE_GCODE_VIEWER -> Small refactoring 2020-05-13 13:55:00 +02:00
enricoturri1966
c0e3a464be Tech ENABLE_GCODE_VIEWER -> Removed obsolete class GLArrow 2020-05-13 11:59:48 +02:00
enricoturri1966
9d784a4f4a Tech ENABLE_GCODE_VIEWER -> Selection curved arrows rendered using the new OpenGL model class 2020-05-12 16:15:43 +02:00
enricoturri1966
8bba1d96dc Tech ENABLE_NON_STATIC_CANVAS_MANAGER set as default 2020-05-06 12:19:34 +02:00
bubnikv
7f866ee9e8 Merge remote-tracking branch 'remotes/origin/et_slope_shader' 2020-03-25 16:09:04 +01:00
enricoturri1966
78a0893d6a Fixed conflicts after merge with master 2020-03-25 14:41:47 +01:00
enricoturri1966
373ce3d849 ENABLE_SLOPE_RENDERING - Do not apply slope shading to modifiers and small refactoring 2020-03-16 14:17:19 +01:00
enricoturri1966
0647e9c850 New tech ENABLE_SLOPE_RENDERING - 1st installment of rendering objects colored by facets slope 2020-03-13 15:09:07 +01:00
Lukas Matena
0e734239ba Include cleanup in several files
src/slic3r/Config/Snapshot.cpp
src/slic3r/Config/Snapshot.hpp
src/slic3r/Config/Version.cpp
src/slic3r/Config/Version.hpp
src/slic3r/GUI/2DBed.cpp
src/slic3r/GUI/3DBed.cpp
src/slic3r/GUI/3DScene.cpp
src/slic3r/GUI/3DScene.hpp
src/slic3r/GUI/AboutDialog.cpp
src/slic3r/GUI/AboutDialog.hpp
src/slic3r/GUI/AppConfig.cpp
src/slic3r/GUI/BackgroundSlicingProcess.cpp
src/slic3r/GUI/BackgroundSlicingProcess.hpp
2020-03-03 15:47:02 +01:00
Enrico Turri
f61f6a98a5 GLCanvas3DManager moved from being a static member of _3DScene to be a normal member of GUI_App 2020-03-02 10:58:46 +01:00
bubnikv
6c3d4f6ac2 Implemented reload of original mesh volume in case the SLA hollowing
step is no more valid.
2020-02-03 15:17:18 +01:00
bubnikv
31b969f336 Optimization in GLCanvas3D::reload_scene():
Use sorting and binary search instead of linear search.
O(n log n) versus O(n^2)
2019-12-10 11:12:17 +01:00
bubnikv
8357f1a119 Refactoring of the G-code preview for lower memory allocation
and for separation of concerns:

The final G-code preview no more uses ExtrusionPaths structure
to hold the G-code path data extracted by parsing the G-code.
Instead, the ExtrusionPath class has been trimmed down back to
the original size before the G-code preview was introduced,
and a new GCodePreviewData::Extrusion::Path class was created to hold
the additional path data as the extruder ID, color change ID
and fan speed.
2019-09-30 16:25:26 +02:00
bubnikv
85c160cb83 Fixed a bug, where the GL context was not being activated with _set_current()
as _set_current() tested for visibility of the window on the screen.

Improved memory management by:
1) Allocating small (around 3MB) vertex buffers to be sent to the GPU.
2) Passing the small vertex buffers to the GPU as quickly as possible.

A bit of copy / paste refactoring into common functions.
2019-08-26 11:12:48 +02:00
bubnikv
9ee01d20c7 Hopefully a workaround for crashes and hang ups at closing on Windows.
Release the OpenGL contexts not by a destructor of a static class,
but explicitely (predictively).
2019-08-22 20:03:17 +02:00
Enrico Turri
170b1b1fa2 Check for existence of gcode toolpaths that can be exported to obj file 2019-08-20 11:33:58 +02:00
Enrico Turri
9c96fe4243 Export to obj file only toolpaths visible in 3D scene 2019-08-20 09:51:25 +02:00
Enrico Turri
709ac9bb3f 1st installment of export of gcode toolpaths to obj file 2019-08-20 09:01:09 +02:00
YuSanka
0fcc6cb159 Merge remote-tracking branch 'origin' into ys_printable_property 2019-08-06 10:31:17 +02:00
bubnikv
f2aba5d27a Fixed Model::convert_multipart_object() for STLs (regression from 8e2af5151dcf6f102b65981ff5aa56c2dfda5a2a).
Removed Model::s_auto_extruder_id and related, as it is a Perl interfacing legacy.
Fixed a typo in asserts introduced in the preceding commit.
2019-08-05 17:49:21 +02:00
bubnikv
b0fc0cf49f Fixed a regression issue where excessive memory was allocated
for the GLVolumes before sending to the GPU driver. The following commits
were partially reverted:

4269c8b23c Removed GLVolume non-VBO rendering
d15698e21e GLVolume and GLIndexedVertexArray refactored to send data to gpu at the first render call

Namely, the GLVolume buffers are "shrink to size"'d before sending their
content to the OpenGL driver, and the vertex buffers are populated
as quickly as possible from the GLVolume, so that the same buffer is not
kept twice in RAM on systems, where the RAM is shared with the graphics
card.

Also the memory allocation reporting was improved for the GLVolumes.
2019-08-05 14:30:32 +02:00
Enrico Turri
fcb95df738 Code cleanup 2019-07-31 11:12:50 +02:00
Enrico Turri
adf64d9d23 Render non printable instances with a darker color 2019-07-31 11:01:50 +02:00
Lukas Matena
33065e5a82 Merge branch 'lm_drop_to_bed' 2019-07-12 13:38:18 +02:00
Enrico Turri
eb4aba5365 Refactoring of functions thick_lines_to_indexed_vertex_array() to reduce the amount of produced vertices while reducing visual artifacts in gcode toolpaths due to averaged normals 2019-07-08 15:30:59 +02:00
Enrico Turri
c1491920ae GLVolume and GLIndexedVertexArray refactored to send data to gpu at the first render call 2019-07-02 12:55:55 +02:00
Enrico Turri
e22181e2c1 Added member BoundingBoxf3 m_bounding_box to GLIndexedVertexArray and removed member BoundingBoxf3 bounding_box from GLVolume 2019-07-01 13:26:06 +02:00
Enrico Turri
e9909eb95e Removed GLVolume non-VBO rendering 2019-07-01 12:28:16 +02:00
Lukas Matena
7993ffa1e5 Added 'drop to bed' button into object manipulation panel 2019-06-19 11:04:12 +02:00
Enrico Turri
ac83bd9124 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_perspective_camera 2019-06-19 08:17:58 +02:00
Enrico Turri
d5a17b11c8 Follow-up of 1a91add2e6 -> Improvements to tighter camera frustrum to reduce z-fighting 2019-06-14 15:37:29 +02:00
bubnikv
7e98df4acc Fix of a smart pointer gymnastics from previous commit 2019-06-13 16:55:12 +02:00
bubnikv
c1fed74010 Sharing TriangleMesh objects between the front end (UI) and back end
(background processing)
2019-06-11 17:08:47 +02:00
Enrico Turri
8f7907c9a0 Detection of sla supports out of printbed in Preview and when sla gizmo is active 2019-05-10 10:43:39 +02:00
bubnikv
a7868d45f1 Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation 2019-05-03 12:37:43 +02:00
bubnikv
50758c4cd0 Changed the "non-uniform scaling is not possible" message. 2019-05-03 12:36:26 +02:00
Enrico Turri
0b351692d7 Attempt to fix build on Linux 2019-04-25 13:35:24 +02:00
Enrico Turri
8163b5d238 Rectangle selection in 3D scene -> refactored GLVolume member varialbe for hovering 2019-04-25 10:21:24 +02:00
Enrico Turri
c0b3cf452a Rectangle selection in 3D scene -> hovering detection 2019-04-25 09:46:26 +02:00