Commit Graph

91 Commits

Author SHA1 Message Date
YuSanka
0520da3241 Merge remote-tracking branch 'origin' into ys_printable_property 2019-08-06 10:31:17 +02:00
bubnikv
cf2f16d864 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
731e5abd88 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
0647d3ac1e Code cleanup 2019-07-31 11:12:50 +02:00
Enrico Turri
03820a38cf Render non printable instances with a darker color 2019-07-31 11:01:50 +02:00
Lukas Matena
45db42ca3b Merge branch 'lm_drop_to_bed' 2019-07-12 13:38:18 +02:00
Enrico Turri
4ba7dfb6dd 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
d15698e21e GLVolume and GLIndexedVertexArray refactored to send data to gpu at the first render call 2019-07-02 12:55:55 +02:00
Enrico Turri
2356fe5a13 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
4269c8b23c Removed GLVolume non-VBO rendering 2019-07-01 12:28:16 +02:00
Lukas Matena
3d8c3804fa Added 'drop to bed' button into object manipulation panel 2019-06-19 11:04:12 +02:00
Enrico Turri
28dd52d88b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_perspective_camera 2019-06-19 08:17:58 +02:00
Enrico Turri
ac8de0bcaf Follow-up of 1a91add2e6 -> Improvements to tighter camera frustrum to reduce z-fighting 2019-06-14 15:37:29 +02:00
bubnikv
dbfa4e6c83 Fix of a smart pointer gymnastics from previous commit 2019-06-13 16:55:12 +02:00
bubnikv
0bb8ee149e Sharing TriangleMesh objects between the front end (UI) and back end
(background processing)
2019-06-11 17:08:47 +02:00
Enrico Turri
efd429ea46 Detection of sla supports out of printbed in Preview and when sla gizmo is active 2019-05-10 10:43:39 +02:00
bubnikv
1c6006f657 Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation 2019-05-03 12:37:43 +02:00
bubnikv
0ab96ed6b5 Changed the "non-uniform scaling is not possible" message. 2019-05-03 12:36:26 +02:00
Enrico Turri
748a4438ba Attempt to fix build on Linux 2019-04-25 13:35:24 +02:00
Enrico Turri
d2d06c9f73 Rectangle selection in 3D scene -> refactored GLVolume member varialbe for hovering 2019-04-25 10:21:24 +02:00
Enrico Turri
11490dfb06 Rectangle selection in 3D scene -> hovering detection 2019-04-25 09:46:26 +02:00
bubnikv
2cc7b00a7d WIP: World / local transformations of an object instance from the side panel. 2019-04-24 19:03:05 +02:00
Enrico Turri
3e902ecfbd Fixed conflicts after merge with master 2019-04-12 08:41:59 +02:00
Lukas Matena
678c513cb9 Merge branch 'master' into lm_sla_gizmo_clipping_plane 2019-04-10 13:43:02 +02:00
Enrico Turri
e61be7d260 Render picking pass renders volumes in the same order as the regular render pass 2019-04-10 11:20:09 +02:00
bubnikv
4904359399 Finished SLA print / material correction visualization. 2019-04-08 18:09:31 +02:00
Lukas Matena
eadf7daa37 Merge branch 'master' into lm_sla_gizmo_clipping_plane 2019-04-08 10:50:10 +02:00
Lukas Matena
9b7857aaab SLA gizmo clipping plane logic moved to fragment shader
This means the clipping now works again with both legacy and modern OpenGL
2019-04-08 10:31:16 +02:00
Enrico Turri
89a0c84c83 Fixed conflicts after merge with master 2019-04-02 15:13:26 +02:00
bubnikv
086f11df98 Handling of left hand oriented coordinate systems:
is_left_handed() method on transformations and volumes
rendering of GLVolumes in left handed coordinate systems by glFrontFace(GL_CW);
SLA slicing on left hand oriented instances by flipping the mesh for SLAPrintObject in X.
rendering of the SLA cutting plane in left handed systems
resetting the SLA clipping planes on 3D preview invalidation
2019-04-02 13:47:49 +02:00
Enrico Turri
d87b478d60 Camera refactoring
1) All camera related OpenGL calls moved into class

2) The Camera class now stores the view matrix, the projection matrix and the viewport

3) The Camera class now exposes methods to get the camera orientation vectors, the camera position, the view matrix, the projection matrix and the viewport

4) All the code operating on the camera or requiring camera data has been modified to use the new methods
2019-04-01 10:00:10 +02:00
Enrico Turri
d0046283fa Added #define glcheck() for the case HAS_GLSAFE not defined 2019-03-27 15:14:40 +01:00
Enrico Turri
d795f07e7b Added glsafe() around OpenGL calls where missing 2019-03-27 14:42:09 +01:00
bubnikv
3987296b62 Improved glsafe macro to print out file name, line number and function
name on OpenGL assert.
2019-03-27 10:26:55 +01:00
Lukas Matena
df01af975a SLA gizmo now forces objects to use their normal color (not SELECTED_COLOR) 2019-03-20 14:04:20 +01:00
Enrico Turri
96fb6dff29 Fixed GLVolume::get_volume_scaling_factor() declaration 2019-03-18 12:37:14 +01:00
Enrico Turri
fc70b73f45 Refactoring - Shared members of GLCanvas3D as references instead of pointers 2019-03-08 12:03:37 +01:00
Enrico Turri
7443868e87 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_multivolume_models 2019-02-20 13:16:39 +01:00
Enrico Turri
e861f5a243 Tech ENABLE_PRINT_BED_MODELS set as default 2019-02-19 10:07:37 +01:00
Lukas Matena
4357c80793 SLA gizmo - fixed hiding of objects and instances 2019-02-06 17:27:02 +01:00
Enrico Turri
fb6ef1d20f Keeps modifier transparent while layer editing tool is enabled 2019-01-31 14:25:11 +01:00
bubnikv
f1470966a5 glsafe macro to test for the glGetError in debug mode 2019-01-31 09:37:27 +01:00
Enrico Turri
db1428dcae Improved transparent volumes rendering set as default 2019-01-21 12:53:01 +01:00
Enrico Turri
012c681e67 Sidebar visual hints set as default 2019-01-21 12:36:34 +01:00
bubnikv
d64b55d27d WIP Restoration of the layer editing. 2019-01-21 10:06:51 +01:00
Enrico Turri
8e001972a9 Added print bed models for mk2 and mk3 printers to 3D scene 2019-01-04 12:56:48 +01:00
Enrico Turri
611d9aa0d8 Model's volume transform set as default 2019-01-02 10:49:13 +01:00
Enrico Turri
5006633221 Improved rendering of transparent volumes 2018-12-21 09:56:11 +01:00
Enrico Turri
11da45e32f Visual hints in the 3D scene when sidebar matrix fields have focus -> legacy render case 2018-12-20 11:42:26 +01:00
Enrico Turri
54fae97032 Visual hints in the 3D scene when sidebar matrix fields have focus -> Completed VBOs case 2018-12-20 11:14:53 +01:00