276 Commits

Author SHA1 Message Date
enricoturri1966
4865ca65e8 Fixes in tech ENABLE_SMOOTH_NORMALS 2022-07-26 11:19:50 +02:00
enricoturri1966
3a760d61e4 Tech ENABLE_RAYCAST_PICKING - Fixed other warnings on Mac 2022-06-15 15:32:34 +02:00
enricoturri1966
692aabd8e1 Tech ENABLE_RAYCAST_PICKING - Fixed build and warnings on Mac 2022-06-15 14:58:04 +02:00
enricoturri1966
6c6713c4ad Tech ENABLE_RAYCAST_PICKING - Raytraced picking of volumes 2022-06-10 14:56:15 +02:00
enricoturri1966
8d0780aabe Tech ENABLE_GL_CORE_PROFILE - Added command line option '--opengl-core=M.m' which allows the user to select a specific OpenGL version supporting core profile 2022-05-30 16:15:25 +02:00
enricoturri1966
c468dcbed7 Tech ENABLE_LEGACY_OPENGL_REMOVAL - Fixed calculation of normal matrices sent to shaders
Fixed conflicts during rebase with master
2022-05-26 12:25:55 +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
914a66e2c3 Tech ENABLE_GL_CORE_PROFILE - Thick lines shader enhanced to render dashed lines
Fixed conflicts while rebase with master
2022-05-26 08:11:04 +02:00
enricoturri1966
017784c38e Tech ENABLE_GL_CORE_PROFILE - Use thick_lines shader where needed
Fixed conflicts during rebase with master
2022-05-25 15:55:39 +02:00
enricoturri1966
389dc36053 Tech ENABLE_GL_CORE_PROFILE - Use OpenGL core profile context - 1st installment
Fixed conflicts during rebase with master
2022-05-25 15:29:10 +02:00
enricoturri1966
0763a48ce5 Tech ENABLE_GL_SHADERS_ATTRIBUTES - Fixed OpenGL clipping planes while rendering picking pass 2022-03-31 13:23:04 +02:00
enricoturri1966
76d1d4949b Tech ENABLE_GL_SHADERS_ATTRIBUTES - Added shaders for glsl version 140 2022-03-21 13:10:47 +01:00
enricoturri1966
f0a4fd1123 Fixed GLVolumes color when tech ENABLE_LEGACY_OPENGL_REMOVAL is disabled 2022-03-10 12:48:31 +01:00
enricoturri1966
f8ce187262 Tech ENABLE_LEGACY_OPENGL_REMOVAL - Refactoring of GLModel to automatically detect the data type to use into the index buffer in dependence of vertices count 2022-03-09 11:51:02 +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
5ffe010a9d Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL merged into ENABLE_LEGACY_OPENGL_REMOVAL 2022-03-08 14:50:32 +01:00
enricoturri1966
05efb88e3f Tech ENABLE_GLBEGIN_GLEND_REMOVAL renamed as ENABLE_LEGACY_OPENGL_REMOVAL 2022-03-08 14:08:11 +01:00
enricoturri1966
80717bbdec Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Some code cleanup 2022-03-08 13:27:51 +01:00
enricoturri1966
9fb350e3dd Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders.
Shader: gouraud
2022-03-07 15:31:23 +01:00
enricoturri1966
31013fb6df Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders.
Refactoring of flat vertex shader
2022-03-04 08:54:23 +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
3003db411f Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders.
Shader: gouraud_light - GCodeViewer shells
2022-03-03 09:56:13 +01:00
enricoturri1966
5b1c9a34d6 Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders.
Shader: flat - Volumes picking pass
2022-02-28 12:05:08 +01:00
enricoturri1966
b766902fe2 Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders.
Shader: flat - Model non-manifold edges
2022-02-28 11:14:07 +01:00
enricoturri1966
df7be964e0 Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders.
Shader: flat - Model sinking contour
2022-02-28 11:10:03 +01:00
enricoturri1966
b155d1a2c3 Follow-up of 1eac357739d44fcdcfbbb742b888b51ce8858bba - Fixed color of volumes after creation 2022-02-23 15:40:25 +01:00
enricoturri1966
1eac357739 Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Replace GLIndexedVertexArray with GLModel: GLVolume geometry + removed class GLIndexedVertexArray from codebase 2022-02-23 13:39:54 +01:00
enricoturri1966
5089d1460d Removed obsolete member variable GLCanvas3D::m_color_by 2022-02-11 11:47:29 +01:00
enricoturri1966
fa1ff1c357 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Another refactoring to simplify client code of GLModel::Geometry 2022-02-10 14:39:02 +01:00
enricoturri1966
4d2d77e99c Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Adapt GLModel::Geometry index format in dependence of data size, where possible 2022-02-09 10:05:49 +01:00
enricoturri1966
be6b6590be Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Refactoring to simplify client code of GLModel::Geometry 2022-02-09 09:15:20 +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
enricoturri1966
18e2cc2298 Tech ENABLE_SHOW_NON_MANIFOLD_EDGES - 1st installment - Calculate and show in 3D view non-manifold edges as lines 2022-01-20 13:32:24 +01:00
enricoturri1966
2cebe16663 Tech ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL - Removal of wipe tower magic object_id equal to 1000 2022-01-17 15:56:58 +01:00
enricoturri1966
403f6d45f9 Refactoring - Removed member variable GLVolume::force_transparent 2022-01-17 08:24:46 +01:00
enricoturri1966
88521bb839 Fixed GLVolumeCollection::update_colors_by_extruder by using ColorRGBs in place of ColorRGBAs 2022-01-14 14:13:43 +01:00
enricoturri1966
6201dad245 Tech ENABLE_COLOR_CLASSES set as default 2022-01-14 08:19:00 +01:00
enricoturri1966
a2dc1cd446 Fixed conflicts after merge with dev branch 2022-01-12 15:54:48 +01:00
enricoturri1966
b4308f4245 Tech ENABLE_MODIFIERS_ALWAYS_TRANSPARENT set as default 2022-01-12 12:35:36 +01:00
enricoturri1966
cd4094743e Tech ENABLE_COLOR_CLASSES - 1st installment -> Introduction of classes ColorRGB and ColorRGBA to unify color data definition and manipulation 2021-12-22 10:45:35 +01:00
enricoturri1966
b062a0f281 Fixed build when tech ENABLE_SMOOTH_NORMALS is enabled 2021-12-02 13:42:26 +01:00
Vojtech Bubnik
f5c23871e8 Follow-up to 77548df00ff24ef9aae0b5808876b7ac0ec7db17
(Fixed missing sinking property in objects list for multipart objects
with a part completely below the printbed):

It was not possible to slice an object with some part completely below
the print bed. The BuildVolume collision check newly supports
a "completely below print bed" return status,
Model evaluates this "completely below print bed status" allowing
objects with some volumes completely below the print bed to print.
2021-11-19 10:32:46 +01:00
YuSanka
d6306f00b7 Resin colors: Set default value when color wasn't set in config 2021-11-16 12:48:13 +01:00
enricoturri1966
9af9b9b35d Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS set as default 2021-11-16 12:39:54 +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
YuSanka
e8be7b2ecd Implemented possibility to show resin colors from the Plater (Bottles with resin are colored now in preset combobox)
+ Added nsvgParseFromFileWithReplace() to replace some colors before parsing from SVG file
+ Thumbnails are saved with selected resin color in SL1 or SL1S files
+ "white" folder is deleted from "icons" now. THere is no needed anymore.
2021-11-09 17:01:50 +01:00
YuSanka
2fcab52f86 Added "Color" parameter for SLA material 2021-11-05 17:22:37 +01:00
enricoturri1966
e1b3ba063b Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Printbed collision detection made cheaper for rectangular beds and faster for circular beds 2021-10-26 08:45:21 +02:00
enricoturri1966
dcbb3bef45 Fixed crash in bed collision detection when there are sinking toolpaths 2021-10-25 09:57:51 +02:00
Vojtech Bubnik
0bc2448e22 Documented the new print bed collision detection algorithm requirements:
Only convex print bed is supported.
Optimization of collision detection by precomputing the print bed shape type.
2021-10-23 15:29:18 +02:00