mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-05-25 15:47:25 +08:00
GCodeViewer -> 2nd attempt to fix rendering of toolpaths on Mac
This commit is contained in:
parent
0df1d11780
commit
a35f72442e
@ -1221,13 +1221,7 @@ void GCodeViewer::render_toolpaths() const
|
|||||||
glsafe(::glEnable(GL_POINT_SPRITE));
|
glsafe(::glEnable(GL_POINT_SPRITE));
|
||||||
|
|
||||||
for (const RenderPath& path : buffer.render_paths) {
|
for (const RenderPath& path : buffer.render_paths) {
|
||||||
#ifdef __APPLE__
|
|
||||||
for (size_t i = 0; i < path.sizes.size(); ++i) {
|
|
||||||
glsafe(::glDrawElements(GL_POINTS, (GLsizei)path.sizes[i], GL_UNSIGNED_INT, (const void*)path.offsets[i]));
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
glsafe(::glMultiDrawElements(GL_POINTS, (const GLsizei*)path.sizes.data(), GL_UNSIGNED_INT, (const void* const*)path.offsets.data(), (GLsizei)path.sizes.size()));
|
glsafe(::glMultiDrawElements(GL_POINTS, (const GLsizei*)path.sizes.data(), GL_UNSIGNED_INT, (const void* const*)path.offsets.data(), (GLsizei)path.sizes.size()));
|
||||||
#endif // __APPLE__
|
|
||||||
#if ENABLE_GCODE_VIEWER_STATISTICS
|
#if ENABLE_GCODE_VIEWER_STATISTICS
|
||||||
++m_statistics.gl_multi_points_calls_count;
|
++m_statistics.gl_multi_points_calls_count;
|
||||||
#endif // ENABLE_GCODE_VIEWER_STATISTICS
|
#endif // ENABLE_GCODE_VIEWER_STATISTICS
|
||||||
@ -1241,13 +1235,7 @@ void GCodeViewer::render_toolpaths() const
|
|||||||
for (const RenderPath& path : buffer.render_paths)
|
for (const RenderPath& path : buffer.render_paths)
|
||||||
{
|
{
|
||||||
shader.set_uniform("uniform_color", path.color);
|
shader.set_uniform("uniform_color", path.color);
|
||||||
#ifdef __APPLE__
|
|
||||||
for (size_t i = 0; i < path.sizes.size(); ++i) {
|
|
||||||
glsafe(::glDrawElements(GL_LINES, (GLsizei)path.sizes[i], GL_UNSIGNED_INT, (const void*)path.offsets[i]));
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
glsafe(::glMultiDrawElements(GL_LINES, (const GLsizei*)path.sizes.data(), GL_UNSIGNED_INT, (const void* const*)path.offsets.data(), (GLsizei)path.sizes.size()));
|
glsafe(::glMultiDrawElements(GL_LINES, (const GLsizei*)path.sizes.data(), GL_UNSIGNED_INT, (const void* const*)path.offsets.data(), (GLsizei)path.sizes.size()));
|
||||||
#endif // __APPLE__
|
|
||||||
#if ENABLE_GCODE_VIEWER_STATISTICS
|
#if ENABLE_GCODE_VIEWER_STATISTICS
|
||||||
++m_statistics.gl_multi_line_strip_calls_count;
|
++m_statistics.gl_multi_line_strip_calls_count;
|
||||||
#endif // ENABLE_GCODE_VIEWER_STATISTICS
|
#endif // ENABLE_GCODE_VIEWER_STATISTICS
|
||||||
@ -1255,7 +1243,11 @@ void GCodeViewer::render_toolpaths() const
|
|||||||
};
|
};
|
||||||
|
|
||||||
auto line_width = [zoom]() {
|
auto line_width = [zoom]() {
|
||||||
|
#ifdef WIN32
|
||||||
return (zoom < 5.0) ? 1.0 : (1.0 + 5.0 * (zoom - 5.0) / (100.0 - 5.0));
|
return (zoom < 5.0) ? 1.0 : (1.0 + 5.0 * (zoom - 5.0) / (100.0 - 5.0));
|
||||||
|
#else
|
||||||
|
return 3.0f;
|
||||||
|
#endif // WIN32
|
||||||
};
|
};
|
||||||
|
|
||||||
glsafe(::glCullFace(GL_BACK));
|
glsafe(::glCullFace(GL_BACK));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user