Commit graph

48 commits

Author SHA1 Message Date
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
enricoturri1966
9c4eeeaa18 Tech ENABLE_SEAMS_USING_INSTANCED_MODELS merged into tech ENABLE_SEAMS_USING_MODELS 2021-08-27 11:41:34 +02:00
enricoturri1966
39ec1a6318 Fixed conflicts after merge with master 2021-08-26 12:39:28 +02:00
enricoturri1966
2980418706 ENABLE_SEAMS_USING_INSTANCED_MODELS -> WIP: Render models using glDrawElementsInstanced 2021-08-26 12:37:55 +02:00
enricoturri1966
adfb5b6b49 Small refactoring into GLModel::render() 2021-08-19 12:12:25 +02:00
enricoturri1966
c4ec355f41 Added function to generated diamond shaped model 2021-08-04 13:58:44 +02:00
enricoturri1966
1ea541767f Fixed compile warning 2021-07-28 15:40:55 +02:00
enricoturri1966
b24488ce51 Tech ENABLE_SINKING_CONTOURS -> Sinking contours shown while dragging Move/Rotate/Scale gizmos and show contours for gizmo cut 2021-07-27 13:02:06 +02:00
enricoturri1966
fd5cf8d0cc Refactoring in GLModel::render() to simplify client code 2021-07-20 12:36:56 +02:00
enricoturri1966
c61785f775 Tech ENABLE_SEQUENTIAL_LIMITS set as default 2021-07-20 12:05:15 +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
aa04f0e555 ENABLE_GCODE_VIEWER -> Completed implementation of new GLModel class 2020-05-27 08:06:02 +02:00
enricoturri1966
800a6c5e57 Tech ENABLE_GCODE_VIEWER -> Fixed normals in curved arrows model 2020-05-13 11:48:29 +02:00
enricoturri1966
b59fc1e57d Tech ENABLE_GCODE_VIEWER -> Selection straight arrows rendered using the new OpenGL model class 2020-05-13 09:07:06 +02:00
enricoturri1966
58258df113 Tech ENABLE_GCODE_VIEWER -> Selection curved arrows rendered using the new OpenGL model class 2020-05-12 16:15:43 +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
enricoturri1966
769cca4b25 GCodeViewer -> Enhanced tool marker + refactoring (added new base class for OpenGL models) 2020-05-11 16:26:35 +02:00