59 Commits

Author SHA1 Message Date
enricoturri1966
028dfb5d9e Tech ENABLE_LEGACY_OPENGL_REMOVAL set as default 2022-12-06 12:17:01 +01:00
enricoturri1966
6f18f8f784 Tech ENABLE_RAYCAST_PICKING set as default 2022-12-05 10:24:30 +01:00
enricoturri1966
ae76468f7c Tech ENABLE_RAYCAST_PICKING - Partial revert of 89ac9326280083de5325bc19950299842902d5b1 - Restored rectangle selection using encoded colors rendering 2022-06-28 14:12:57 +02:00
enricoturri1966
cfc3988b9f Tech ENABLE_RAYCAST_PICKING - 1st installment - Raytraced picking of printbed 2022-06-10 13:20:52 +02:00
enricoturri1966
cd6155293b Fixed conflicts after merge with master 2022-06-07 11:10:19 +02:00
enricoturri1966
ebb9a4aadb Tech ENABLE_WORLD_COORDINATE_SHOW_AXES merged into tech ENABLE_WORLD_COORDINATE
Fixed conflicts during rebase with master
2022-06-06 11:39:15 +02:00
enricoturri1966
558bccec48 Tech ENABLE_WORLD_COORDINATE_SHOW_AXES - Show axes of the current reference system when sidebar hints are active for non-world reference systems
Fixed conflicts during rebase with master
2022-06-03 11:45:22 +02:00
enricoturri1966
1a1cf108fc Tech ENABLE_GL_SHADERS_ATTRIBUTES merged into ENABLE_LEGACY_OPENGL_REMOVAL
Fixed conflicts during rebase with master
2022-05-26 10:50:32 +02:00
enricoturri1966
bea50dce7c Fixed rendering of printbed while the camera is below it 2022-04-11 08:38:09 +02:00
enricoturri1966
568bd39c5a Tech ENABLE_GL_SHADERS_ATTRIBUTES - Fixed rendering of default bed in thumbnails 2022-03-15 09:16:06 +01:00
enricoturri1966
58701b237d Tech ENABLE_GL_SHADERS_ATTRIBUTES - Fixed rendering of bed texture in thumbnails 2022-03-15 09:05:16 +01:00
enricoturri1966
46283cfde3 Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES renamed as ENABLE_GL_SHADERS_ATTRIBUTES 2022-03-09 08:22:07 +01:00
enricoturri1966
05efb88e3f Tech ENABLE_GLBEGIN_GLEND_REMOVAL renamed as ENABLE_LEGACY_OPENGL_REMOVAL 2022-03-08 14:08:11 +01:00
enricoturri1966
14f4345389 Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders.
Shader: gouraud_light - Thumbnails render
2022-03-03 12:36:44 +01:00
enricoturri1966
6b041429f6 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Removed Slic3r::GUI::GeometryBuffer from 3DBed.hpp and replaced with GLModel 2022-02-07 10:24:24 +01:00
enricoturri1966
afcac6e2ea Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Refactoring of GLModel to:
1) allow for custom vertex data layout

2) allow for custom index data format

3) allow for any OpenGL primitive type
2022-01-27 12:00:51 +01:00
Vojtech Bubnik
cc44089440 New BuildVolume class was created, which detects build volume type (rectangular,
circular, convex, concave) and performs efficient collision detection agains these build
volumes. As of now, collision detection is performed against a convex
hull of a concave build volume for efficency.

GCodeProcessor::Result renamed out of GCodeProcessor to GCodeProcessorResult,
so it could be forward declared.

Plater newly exports BuildVolume, not Bed3D. Bed3D is a rendering class,
while BuildVolume is a purely geometric class.

Reduced usage of global wxGetApp, the Bed3D is passed as a parameter
to View3D/Preview/GLCanvas.

Convex hull code was extracted from Geometry.cpp/hpp to Geometry/ConvexHulll.cpp,hpp.
New test inside_convex_polygon().
New efficent point inside polygon test: Decompose convex hull
to bottom / top parts and use the decomposition to detect point inside
a convex polygon in O(log n). decompose_convex_polygon_top_bottom(),
inside_convex_polygon().

New Circle constructing functions: circle_ransac() and circle_taubin_newton().

New polygon_is_convex() test with unit tests.
2021-11-16 10:15:51 +01:00
enricoturri1966
4ff13a5d63 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Reworked detection of collision with printbed. The detection uses now different algorithms in dependence of the printbed type (rectangular, circular, convex) to improve performance. 2021-10-06 13:47:54 +02:00
enricoturri1966
cf380fb456 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Out of bed detection for circular printbeds 2021-09-21 13:51:57 +02:00
enricoturri1966
1f3252dd78 Revert of b140709fa8aa313278455995de30f88e9a442120 and new implementation of fixing picking for sinking objects 2021-07-21 11:56:39 +02:00
enricoturri1966
75677ba810 Tech ENABLE_SEQUENTIAL_LIMITS -> 1st installment of visualization of objects clearance for sequential prints 2021-05-11 13:12:25 +02:00
enricoturri1966
3e09334162 Removed mutable members from class Bed3D 2021-04-20 08:53:56 +02:00
Vojtech Bubnik
2e55898d78 Removal of not numerically robust libraries "poly2tree" and "polypartition".
Adjustment of GUI/3DBed.cpp,hpp to use the more stable triangulation algoritm
derived from SGI glut.
Fix of an extremely slow bridging calculation, caused by an extremely
slow bridged area detection function, of which the results were never used.
Fixes "slicing fails or takes too long #5974"
2021-02-09 18:36:28 +01:00
enricoturri1966
a20ce2f484 ENABLE_GCODE_VIEWER set as default in 3DBed.hpp/.cpp 2020-11-16 17:29:21 +01:00
enricoturri1966
0348986bda Follow-up of 9d4344a78ce56ecf722e946f2c1796a9e1df96e8 -> ensure printbed always rendered as custom in gcode preview mode 2020-07-29 14:20:01 +02:00
enricoturri1966
aa04f0e555 ENABLE_GCODE_VIEWER -> Completed implementation of new GLModel class 2020-05-27 08:06:02 +02:00
enricoturri1966
314995fa0b ENABLE_SHADERS_MANAGER set as default 2020-05-22 16:08:02 +02:00
enricoturri1966
cbfb09a241 Fixed build for all 4 cases of tech ENABLE_SHADERS_MANAGER and ENABLE_GCODE_VIEWER enabled/disabled and code cleanup 2020-05-20 17:03:53 +02:00
enricoturri1966
c7c87973b7 First installment of tech ENABLE_SHADERS_MANAGER, using class GLShadersManager as a central point to manage OpenGL shaders 2020-05-20 14:11:22 +02:00
enricoturri1966
8d5cea82f4 Tech ENABLE_GCODE_VIEWER -> Bed axes rendered using the new OpenGL model class 2020-05-12 11:33:50 +02:00
Lukas Matena
46ade45ced The bed texture is not shown when looking from below and FDM/SLA support gizmo is active 2020-04-14 13:18:08 +02:00
Enrico Turri
847efec2ed ENABLE_6DOF_CAMERA set as default 2020-02-13 12:13:54 +01:00
Enrico Turri
b368f8ff24 Fixed conflicts after merge with master 2020-01-17 14:58:19 +01:00
Enrico Turri
62e60bcb43 Six degrees of freedom camera - 1st installment 2020-01-15 12:49:34 +01:00
Enrico Turri
051fcd4e24 Configurable system printers bed textures and models 2020-01-09 10:27:42 +01:00
Enrico Turri
f2b8607d11 Fixed positioning of gizmos' imgui dialogs 2019-12-12 13:38:08 +01:00
Enrico Turri
3537f74936 Printbed axes renderable on demand 2019-11-28 11:51:00 +01:00
Enrico Turri
2dec84a429 Added model and texture for Mini and Ender3 printer printbeds 2019-11-15 09:28:51 +01:00
Enrico Turri
77857f7292 Refactoring into rendering pipeline 2019-07-26 09:45:22 +02:00
Enrico Turri
bc680b8376 Draw lighter gridlines when rendering default procedural texture on print bed when seen from above and custom model is present 2019-07-25 10:38:18 +02:00
Enrico Turri
9625fe8f5b Render custom bed model on custom beds 2019-07-25 09:45:43 +02:00
Enrico Turri
1483a7fd51 Render custom bed model on prusa beds 2019-07-24 14:02:36 +02:00
Enrico Turri
395e794b9e Refactoring in Bed3D 2019-07-24 11:04:04 +02:00
Enrico Turri
7e7550b416 Custom bed texture applied to custom bed shapes 2019-07-24 10:11:17 +02:00
Enrico Turri
84d61e28fd Tech ENABLE_TEXTURES_FROM_SVG set as default 2019-07-19 09:52:01 +02:00
Enrico Turri
f61d43de07 Render custom bed textures in svg format on prusa beds 2019-07-18 14:39:19 +02:00
Enrico Turri
9ba5568539 Fixed conflicts after merge with master 2019-07-08 09:23:37 +02:00
Enrico Turri
7a7316fcbf Fixed compile warnings in Bed3D 2019-07-03 09:19:07 +02:00
Enrico Turri
4269c8b23c Removed GLVolume non-VBO rendering 2019-07-01 12:28:16 +02:00
Enrico Turri
5766e9e915 Fixed conflicts after merge with branch et_perpsective_camera 2019-06-24 11:08:42 +02:00