Commit graph

66 commits

Author SHA1 Message Date
enricoturri1966
adb3d0101d Measuring: reworked rendering of hovered features 2022-10-12 09:10:52 +02:00
Vojtech Bubnik
3f69643516 Merge branch 'vb_treesupports' 2022-08-23 16:45:34 +02:00
Vojtech Bubnik
9aee934d53 Speed improvement of initial G-code preview:
1) Preallocating the vertex / index buffers to limit reallocation.
2) Inlining the pushing into the vertex / index buffers.
3) Running the vertex buffer generator on a limited number of threads
   as the generator does not scale well due to memory pressure.
   Not using all the threads leaves some of the threads to G-code
   generator.
2022-08-23 11:28:25 +02:00
enricoturri1966
2b996158d2 Merge branch 'master' of https://github.com/Prusa-Development/PrusaSlicerPrivate into et_opengl_es_rebase 2022-08-18 12:51:55 +02:00
enricoturri1966
5cf71bb094 Tech ENABLE_SHOW_TOOLPATHS_COG set as default 2022-07-27 15:52:40 +02:00
enricoturri1966
4865ca65e8 Fixes in tech ENABLE_SMOOTH_NORMALS 2022-07-26 11:19:50 +02:00
enricoturri1966
bb36f0df0c Tech ENABLE_OPENGL_ES - 1st installment 2022-07-21 15:43:11 +02:00
enricoturri1966
642f64cb41 Tech ENABLE_LEGACY_OPENGL_REMOVAL - Fixed rendering of layer editing background on older OpenGL compatibility profile 2022-07-13 12:12:35 +02:00
enricoturri1966
22b634ca1d Fixed crash at startup on Mac OS 2022-07-13 08:56:00 +02:00
enricoturri1966
db583640ad Tech ENABLE_GL_CORE_PROFILE set as default into GLModel::Geometry 2022-05-26 11:39:53 +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
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
6b6fb9f692 Tech ENABLE_LEGACY_OPENGL_REMOVAL - Removed redundand #if/#endif into GLModel.cpp 2022-04-05 10:04:36 +02:00
enricoturri1966
4b4ed423ef Tech ENABLE_LEGACY_OPENGL_REMOVAL - Fix into GLModel::send_to_gpu() 2022-03-23 13:16:51 +01:00
enricoturri1966
9be3d926c5 Tech ENABLE_LEGACY_OPENGL_REMOVAL - A few refactorings and fixes 2022-03-22 08:18:39 +01:00
enricoturri1966
76d1d4949b Tech ENABLE_GL_SHADERS_ATTRIBUTES - Added shaders for glsl version 140 2022-03-21 13:10:47 +01:00
enricoturri1966
3dddfa919a Debug tech ENABLE_GLMODEL_STATISTICS - Shows an imgui dialog with GLModel statistics data 2022-03-10 15:55:15 +01:00
enricoturri1966
a9465ddedc A few small refactorings 2022-03-10 11:27:05 +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
cdf3cb83b6 Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders.
Shader: gouraud_light_instanced_attr - Instanced options in gcode preview
2022-03-04 12:46:01 +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
a5ff37013b Tech ENABLE_GLBEGIN_GLEND_SHADERS_ATTRIBUTES - Use vertex attributes and matrices in shaders. 1st installment.
Shader: flat - Default bed
2022-02-28 10:41:01 +01:00
enricoturri1966
2379588196 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Fix in GLGizmoRotate::render_angle_arc():
Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Fix in GLModel::render()
2022-02-28 10:21:03 +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
fa1ff1c357 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Another refactoring to simplify client code of GLModel::Geometry 2022-02-10 14:39:02 +01:00
enricoturri1966
8916a00821 Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Replace GLIndexedVertexArray with GLModel:
TriangleSelectorGUI::m_iva_enforcers

TriangleSelectorGUI::m_iva_blockers

TriangleSelectorGUI::m_iva_seed_fills

TriangleSelectorGUI::m_varrays

GLGizmoPainterBase::s_sphere
2022-02-09 13:13:10 +01:00
enricoturri1966
ffa3a1d8fc Tech ENABLE_GLINDEXEDVERTEXARRAY_REMOVAL - Replace GLIndexedVertexArray with GLModel - GLGizmoFlatten::PlaneData::vbo 2022-02-09 09:08:37 +01:00
enricoturri1966
92aa6540f5 Tech ENABLE_SHOW_TOOLPATHS_COG - Show toolpaths center of gravity 2022-02-08 12:57:56 +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
a939d8e4c0 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Layers editing profile's background texture rendering 2022-01-27 15:45:55 +01:00
enricoturri1966
8c807dbcc4 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - A few fixes in layers editing profile rendering 2022-01-27 15:19:29 +01:00
enricoturri1966
5db3c66cf7 Tech ENABLE_GLBEGIN_GLEND_REMOVAL - Added method void init_from(const TriangleMesh& mesh) to GLModel 2022-01-27 13:45:30 +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
Filip Sykala
0b2a52f916 Merge branch 'dev' into fs_simplify_multipart_object
# Conflicts:
#	src/slic3r/GUI/GLModel.hpp
#	src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoSimplify.hpp
2022-01-16 19:21:02 +01:00
enricoturri1966
6201dad245 Tech ENABLE_COLOR_CLASSES set as default 2022-01-14 08:19:00 +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
f72d83993e Tech ENABLE_SEAMS_USING_BATCHED_MODELS set as default 2021-11-30 10:32:28 +01:00
enricoturri1966
75856d5e65 Tech ENABLE_SEAMS_USING_MODELS set as default 2021-11-30 08:36:55 +01:00
Filip Sykala
4a31811410 Fix:
../src/slic3r/GUI/GLModel.cpp:180:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<Slic3r::GUI::GLModel::RenderData>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
2021-11-22 18:52:11 +01:00
Filip Sykala
4211aba981 Fix esc key
Fix model color
Fix
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:559:35: warning: unused variable 'volume_ids' [-Wunused-variable]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:560:28: warning: unused variable 'model_objects' [-Wunused-variable]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:694:16: warning: unused variable 'info' [-Wunused-variable]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:721:35: warning: unused variable 'volume_ids' [-Wunused-variable]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:97:17: warning: 'uint32_t Slic3r::GUI::get_triangle_count(const std::set<Slic3r::ObjectID>&, const Slic3r::GUI::Selection&)' defined but not used [-Wunused-function]
2021-11-22 17:36:08 +01:00
Vojtech Bubnik
8a2a9dba2f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.

Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.

Reworked QHull integration into TriangleMesh:
    1) Face normals were not right.
    2) Indexed triangle set is newly emitted instead of duplicating
       vertices for each face.

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
enricoturri1966
f132ca9c3c Tech ENABLE_SINKING_CONTOURS set as default 2021-09-14 15:45:21 +02:00
Vojtech Bubnik
9d29eddf16 WIP: admesh eradication
follow-up to 58d8ab3dea
2021-09-14 14:51:40 +02:00
Vojtech Bubnik
58d8ab3dea Removed the PRUS format parser. WIP: admesh eradication:
stl_stats are newly only accessed by TriangleMesh::stats(),
most of the direct access to TriangleMesh::stl is gone with the exception
of parsing input files (3MF, AMF, obj).
2021-09-14 11:58:14 +02:00
enricoturri1966
7f2d1522ce Rendering seams (and other options) in preview using batched models on systems not supporting OpenGL 3.3 2021-09-03 15:35:44 +02:00