Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorenricoturri1966 <enricoturri@seznam.cz>2020-05-06 15:38:53 +0300
committerenricoturri1966 <enricoturri@seznam.cz>2020-05-06 15:38:53 +0300
commit6f789aaee7c9945989b5395db8949e6ecdee6f4e (patch)
tree35e956798ef714d8b32f5d2429ff02e878dfc5a9 /src/slic3r
parent0bb56736a103cea3e7430bf328ce57399a3c1e9a (diff)
GLCanvas3DManager replaced by OpenGLManager
Diffstat (limited to 'src/slic3r')
-rw-r--r--src/slic3r/CMakeLists.txt4
-rw-r--r--src/slic3r/GUI/3DBed.cpp2
-rw-r--r--src/slic3r/GUI/GLCanvas3D.cpp12
-rw-r--r--src/slic3r/GUI/GLTexture.cpp6
-rw-r--r--src/slic3r/GUI/GUI_App.cpp7
-rw-r--r--src/slic3r/GUI/GUI_App.hpp4
-rw-r--r--src/slic3r/GUI/GUI_Preview.cpp10
-rw-r--r--src/slic3r/GUI/OpenGLManager.cpp (renamed from src/slic3r/GUI/GLCanvas3DManager.cpp)60
-rw-r--r--src/slic3r/GUI/OpenGLManager.hpp (renamed from src/slic3r/GUI/GLCanvas3DManager.hpp)29
9 files changed, 57 insertions, 77 deletions
diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
index 64d1a7168..b52201c38 100644
--- a/src/slic3r/CMakeLists.txt
+++ b/src/slic3r/CMakeLists.txt
@@ -27,8 +27,8 @@ set(SLIC3R_GUI_SOURCES
GUI/GLShader.hpp
GUI/GLCanvas3D.hpp
GUI/GLCanvas3D.cpp
- GUI/GLCanvas3DManager.hpp
- GUI/GLCanvas3DManager.cpp
+ GUI/OpenGLManager.hpp
+ GUI/OpenGLManager.cpp
GUI/Selection.hpp
GUI/Selection.cpp
GUI/Gizmos/GLGizmosManager.cpp
diff --git a/src/slic3r/GUI/3DBed.cpp b/src/slic3r/GUI/3DBed.cpp
index 2cc9de38c..6c070ca99 100644
--- a/src/slic3r/GUI/3DBed.cpp
+++ b/src/slic3r/GUI/3DBed.cpp
@@ -410,7 +410,7 @@ void Bed3D::render_texture(bool bottom, GLCanvas3D& canvas) const
if (boost::algorithm::iends_with(m_texture_filename, ".svg"))
{
// use higher resolution images if graphic card and opengl version allow
- GLint max_tex_size = GLCanvas3DManager::get_gl_info().get_max_tex_size();
+ GLint max_tex_size = OpenGLManager::get_gl_info().get_max_tex_size();
if ((m_temp_texture.get_id() == 0) || (m_temp_texture.get_source() != m_texture_filename))
{
// generate a temporary lower resolution texture to show while no main texture levels have been compressed
diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp
index ca6812ded..71fba5214 100644
--- a/src/slic3r/GUI/GLCanvas3D.cpp
+++ b/src/slic3r/GUI/GLCanvas3D.cpp
@@ -19,7 +19,7 @@
#include "slic3r/GUI/PresetBundle.hpp"
#include "slic3r/GUI/Tab.hpp"
#include "slic3r/GUI/GUI_Preview.hpp"
-#include "slic3r/GUI/GLCanvas3DManager.hpp"
+#include "slic3r/GUI/OpenGLManager.hpp"
#include "slic3r/GUI/3DBed.hpp"
#include "slic3r/GUI/Camera.hpp"
@@ -2070,10 +2070,10 @@ void GLCanvas3D::render()
ImGui::Separator();
imgui.text("Compressed textures: ");
ImGui::SameLine();
- imgui.text(GLCanvas3DManager::are_compressed_textures_supported() ? "supported" : "not supported");
+ imgui.text(OpenGLManager::are_compressed_textures_supported() ? "supported" : "not supported");
imgui.text("Max texture size: ");
ImGui::SameLine();
- imgui.text(std::to_string(GLCanvas3DManager::get_gl_info().get_max_tex_size()));
+ imgui.text(std::to_string(OpenGLManager::get_gl_info().get_max_tex_size()));
imgui.end();
#endif // ENABLE_RENDER_STATISTICS
@@ -2150,10 +2150,10 @@ void GLCanvas3D::render()
void GLCanvas3D::render_thumbnail(ThumbnailData& thumbnail_data, unsigned int w, unsigned int h, bool printable_only, bool parts_only, bool show_bed, bool transparent_background) const
{
- switch (GLCanvas3DManager::get_framebuffers_type())
+ switch (OpenGLManager::get_framebuffers_type())
{
- case GLCanvas3DManager::EFramebufferType::Arb: { _render_thumbnail_framebuffer(thumbnail_data, w, h, printable_only, parts_only, show_bed, transparent_background); break; }
- case GLCanvas3DManager::EFramebufferType::Ext: { _render_thumbnail_framebuffer_ext(thumbnail_data, w, h, printable_only, parts_only, show_bed, transparent_background); break; }
+ case OpenGLManager::EFramebufferType::Arb: { _render_thumbnail_framebuffer(thumbnail_data, w, h, printable_only, parts_only, show_bed, transparent_background); break; }
+ case OpenGLManager::EFramebufferType::Ext: { _render_thumbnail_framebuffer_ext(thumbnail_data, w, h, printable_only, parts_only, show_bed, transparent_background); break; }
default: { _render_thumbnail_legacy(thumbnail_data, w, h, printable_only, parts_only, show_bed, transparent_background); break; }
}
}
diff --git a/src/slic3r/GUI/GLTexture.cpp b/src/slic3r/GUI/GLTexture.cpp
index 7daa89cc7..6a4d0f9b6 100644
--- a/src/slic3r/GUI/GLTexture.cpp
+++ b/src/slic3r/GUI/GLTexture.cpp
@@ -2,7 +2,7 @@
#include "GLTexture.hpp"
#include "3DScene.hpp"
-#include "GLCanvas3DManager.hpp"
+#include "OpenGLManager.hpp"
#include <GL/glew.h>
@@ -441,7 +441,7 @@ bool GLTexture::load_from_png(const std::string& filename, bool use_mipmaps, ECo
if (apply_anisotropy)
{
- GLfloat max_anisotropy = GLCanvas3DManager::get_gl_info().get_max_anisotropy();
+ GLfloat max_anisotropy = OpenGLManager::get_gl_info().get_max_anisotropy();
if (max_anisotropy > 1.0f)
glsafe(::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, max_anisotropy));
}
@@ -590,7 +590,7 @@ bool GLTexture::load_from_svg(const std::string& filename, bool use_mipmaps, boo
if (apply_anisotropy)
{
- GLfloat max_anisotropy = GLCanvas3DManager::get_gl_info().get_max_anisotropy();
+ GLfloat max_anisotropy = OpenGLManager::get_gl_info().get_max_anisotropy();
if (max_anisotropy > 1.0f)
glsafe(::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, max_anisotropy));
}
diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp
index 3ea1cb0e0..5e4f85e87 100644
--- a/src/slic3r/GUI/GUI_App.cpp
+++ b/src/slic3r/GUI/GUI_App.cpp
@@ -285,17 +285,17 @@ GUI_App::~GUI_App()
std::string GUI_App::get_gl_info(bool format_as_html, bool extensions)
{
- return GLCanvas3DManager::get_gl_info().to_string(format_as_html, extensions);
+ return OpenGLManager::get_gl_info().to_string(format_as_html, extensions);
}
wxGLContext* GUI_App::init_glcontext(wxGLCanvas& canvas)
{
- return m_canvas_mgr.init_glcontext(canvas);
+ return m_opengl_mgr.init_glcontext(canvas);
}
bool GUI_App::init_opengl()
{
- return m_canvas_mgr.init_gl();
+ return m_opengl_mgr.init_gl();
}
void GUI_App::init_app_config()
@@ -322,6 +322,7 @@ void GUI_App::init_app_config()
app_config->load();
}
}
+
bool GUI_App::OnInit()
{
try {
diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp
index 6a9711689..f0caeed0a 100644
--- a/src/slic3r/GUI/GUI_App.hpp
+++ b/src/slic3r/GUI/GUI_App.hpp
@@ -7,7 +7,7 @@
#include "MainFrame.hpp"
#include "ImGuiWrapper.hpp"
#include "ConfigWizard.hpp"
-#include "GLCanvas3DManager.hpp"
+#include "OpenGLManager.hpp"
#include <wx/app.h>
#include <wx/colour.h>
@@ -98,7 +98,7 @@ class GUI_App : public wxApp
// Best translation language, provided by Windows or OSX, owned by wxWidgets.
const wxLanguageInfo *m_language_info_best = nullptr;
- GLCanvas3DManager m_canvas_mgr;
+ OpenGLManager m_opengl_mgr;
std::unique_ptr<RemovableDriveManager> m_removable_drive_manager;
diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp
index a593c7774..8cf524f7d 100644
--- a/src/slic3r/GUI/GUI_Preview.cpp
+++ b/src/slic3r/GUI/GUI_Preview.cpp
@@ -7,7 +7,7 @@
#include "AppConfig.hpp"
#include "3DScene.hpp"
#include "BackgroundSlicingProcess.hpp"
-#include "GLCanvas3DManager.hpp"
+#include "OpenGLManager.hpp"
#include "GLCanvas3D.hpp"
#include "PresetBundle.hpp"
#include "DoubleSlider.hpp"
@@ -48,7 +48,7 @@ bool View3D::init(wxWindow* parent, Model* model, DynamicPrintConfig* config, Ba
if (!Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 /* disable wxTAB_TRAVERSAL */))
return false;
- m_canvas_widget = GLCanvas3DManager::create_wxglcanvas(*this);
+ m_canvas_widget = OpenGLManager::create_wxglcanvas(*this);
if (m_canvas_widget == nullptr)
return false;
@@ -56,7 +56,7 @@ bool View3D::init(wxWindow* parent, Model* model, DynamicPrintConfig* config, Ba
m_canvas->set_context(wxGetApp().init_glcontext(*m_canvas_widget));
m_canvas->bind_event_handlers();
- m_canvas->allow_multisample(GLCanvas3DManager::can_multisample());
+ m_canvas->allow_multisample(OpenGLManager::can_multisample());
// XXX: If have OpenGL
m_canvas->enable_picking(true);
m_canvas->enable_moving(true);
@@ -209,14 +209,14 @@ bool Preview::init(wxWindow* parent, Model* model)
if (!Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 /* disable wxTAB_TRAVERSAL */))
return false;
- m_canvas_widget = GLCanvas3DManager::create_wxglcanvas(*this);
+ m_canvas_widget = OpenGLManager::create_wxglcanvas(*this);
if (m_canvas_widget == nullptr)
return false;
m_canvas = new GLCanvas3D(m_canvas_widget);
m_canvas->set_context(wxGetApp().init_glcontext(*m_canvas_widget));
m_canvas->bind_event_handlers();
- m_canvas->allow_multisample(GLCanvas3DManager::can_multisample());
+ m_canvas->allow_multisample(OpenGLManager::can_multisample());
m_canvas->set_config(m_config);
m_canvas->set_model(model);
m_canvas->set_process(m_process);
diff --git a/src/slic3r/GUI/GLCanvas3DManager.cpp b/src/slic3r/GUI/OpenGLManager.cpp
index 83f429c5e..83c4275f0 100644
--- a/src/slic3r/GUI/GLCanvas3DManager.cpp
+++ b/src/slic3r/GUI/OpenGLManager.cpp
@@ -1,21 +1,17 @@
#include "libslic3r/libslic3r.h"
-#include "GLCanvas3DManager.hpp"
-#include "../../slic3r/GUI/GUI.hpp"
-#include "../../slic3r/GUI/AppConfig.hpp"
-#include "../../slic3r/GUI/GLCanvas3D.hpp"
+#include "OpenGLManager.hpp"
+
+#include "GUI.hpp"
+#include "I18N.hpp"
+#include "3DScene.hpp"
#include <GL/glew.h>
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/classification.hpp>
#include <boost/log/trivial.hpp>
-#include <wx/glcanvas.h>
-#include <wx/timer.h>
-#include <wx/msgdlg.h>
-#include <vector>
-#include <string>
-#include <iostream>
+#include <wx/glcanvas.h>
#if ENABLE_HACK_CLOSING_ON_OSX_10_9_5
#ifdef __APPLE__
@@ -31,7 +27,7 @@
namespace Slic3r {
namespace GUI {
-const std::string& GLCanvas3DManager::GLInfo::get_version() const
+const std::string& OpenGLManager::GLInfo::get_version() const
{
if (!m_detected)
detect();
@@ -39,7 +35,7 @@ const std::string& GLCanvas3DManager::GLInfo::get_version() const
return m_version;
}
-const std::string& GLCanvas3DManager::GLInfo::get_glsl_version() const
+const std::string& OpenGLManager::GLInfo::get_glsl_version() const
{
if (!m_detected)
detect();
@@ -47,7 +43,7 @@ const std::string& GLCanvas3DManager::GLInfo::get_glsl_version() const
return m_glsl_version;
}
-const std::string& GLCanvas3DManager::GLInfo::get_vendor() const
+const std::string& OpenGLManager::GLInfo::get_vendor() const
{
if (!m_detected)
detect();
@@ -55,7 +51,7 @@ const std::string& GLCanvas3DManager::GLInfo::get_vendor() const
return m_vendor;
}
-const std::string& GLCanvas3DManager::GLInfo::get_renderer() const
+const std::string& OpenGLManager::GLInfo::get_renderer() const
{
if (!m_detected)
detect();
@@ -63,7 +59,7 @@ const std::string& GLCanvas3DManager::GLInfo::get_renderer() const
return m_renderer;
}
-int GLCanvas3DManager::GLInfo::get_max_tex_size() const
+int OpenGLManager::GLInfo::get_max_tex_size() const
{
if (!m_detected)
detect();
@@ -78,7 +74,7 @@ int GLCanvas3DManager::GLInfo::get_max_tex_size() const
#endif // __APPLE__
}
-float GLCanvas3DManager::GLInfo::get_max_anisotropy() const
+float OpenGLManager::GLInfo::get_max_anisotropy() const
{
if (!m_detected)
detect();
@@ -86,7 +82,7 @@ float GLCanvas3DManager::GLInfo::get_max_anisotropy() const
return m_max_anisotropy;
}
-void GLCanvas3DManager::GLInfo::detect() const
+void OpenGLManager::GLInfo::detect() const
{
const char* data = (const char*)::glGetString(GL_VERSION);
if (data != nullptr)
@@ -117,7 +113,7 @@ void GLCanvas3DManager::GLInfo::detect() const
m_detected = true;
}
-bool GLCanvas3DManager::GLInfo::is_version_greater_or_equal_to(unsigned int major, unsigned int minor) const
+bool OpenGLManager::GLInfo::is_version_greater_or_equal_to(unsigned int major, unsigned int minor) const
{
if (!m_detected)
detect();
@@ -148,7 +144,7 @@ bool GLCanvas3DManager::GLInfo::is_version_greater_or_equal_to(unsigned int majo
return gl_minor >= minor;
}
-std::string GLCanvas3DManager::GLInfo::to_string(bool format_as_html, bool extensions) const
+std::string OpenGLManager::GLInfo::to_string(bool format_as_html, bool extensions) const
{
if (!m_detected)
detect();
@@ -188,19 +184,19 @@ std::string GLCanvas3DManager::GLInfo::to_string(bool format_as_html, bool exten
return out.str();
}
-GLCanvas3DManager::GLInfo GLCanvas3DManager::s_gl_info;
-bool GLCanvas3DManager::s_compressed_textures_supported = false;
-GLCanvas3DManager::EMultisampleState GLCanvas3DManager::s_multisample = GLCanvas3DManager::EMultisampleState::Unknown;
-GLCanvas3DManager::EFramebufferType GLCanvas3DManager::s_framebuffers_type = GLCanvas3DManager::EFramebufferType::Unknown;
+OpenGLManager::GLInfo OpenGLManager::s_gl_info;
+bool OpenGLManager::s_compressed_textures_supported = false;
+OpenGLManager::EMultisampleState OpenGLManager::s_multisample = OpenGLManager::EMultisampleState::Unknown;
+OpenGLManager::EFramebufferType OpenGLManager::s_framebuffers_type = OpenGLManager::EFramebufferType::Unknown;
#if ENABLE_HACK_CLOSING_ON_OSX_10_9_5
#ifdef __APPLE__
// Part of hack to remove crash when closing the application on OSX 10.9.5 when building against newer wxWidgets
-GLCanvas3DManager::OSInfo GLCanvas3DManager::s_os_info;
+OpenGLManager::OSInfo OpenGLManager::s_os_info;
#endif // __APPLE__
#endif // ENABLE_HACK_CLOSING_ON_OSX_10_9_5
-GLCanvas3DManager::~GLCanvas3DManager()
+OpenGLManager::~OpenGLManager()
{
#if ENABLE_HACK_CLOSING_ON_OSX_10_9_5
#ifdef __APPLE__
@@ -221,7 +217,7 @@ GLCanvas3DManager::~GLCanvas3DManager()
#endif // ENABLE_HACK_CLOSING_ON_OSX_10_9_5
}
-bool GLCanvas3DManager::init_gl()
+bool OpenGLManager::init_gl()
{
if (!m_gl_initialized)
{
@@ -249,19 +245,19 @@ bool GLCanvas3DManager::init_gl()
_utf8(L("PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \n"
"while OpenGL version %s, render %s, vendor %s was detected."))) % s_gl_info.get_version() % s_gl_info.get_renderer() % s_gl_info.get_vendor()).str());
message += "\n";
- message += _(L("You may need to update your graphics card driver."));
+ message += _L("You may need to update your graphics card driver.");
#ifdef _WIN32
message += "\n";
- message += _(L("As a workaround, you may run PrusaSlicer with a software rendered 3D graphics by running prusa-slicer.exe with the --sw_renderer parameter."));
+ message += _L("As a workaround, you may run PrusaSlicer with a software rendered 3D graphics by running prusa-slicer.exe with the --sw_renderer parameter.");
#endif
- wxMessageBox(message, wxString("PrusaSlicer - ") + _(L("Unsupported OpenGL version")), wxOK | wxICON_ERROR);
+ wxMessageBox(message, wxString("PrusaSlicer - ") + _L("Unsupported OpenGL version"), wxOK | wxICON_ERROR);
}
}
return true;
}
-wxGLContext* GLCanvas3DManager::init_glcontext(wxGLCanvas& canvas)
+wxGLContext* OpenGLManager::init_glcontext(wxGLCanvas& canvas)
{
if (m_context == nullptr)
{
@@ -279,7 +275,7 @@ wxGLContext* GLCanvas3DManager::init_glcontext(wxGLCanvas& canvas)
return m_context;
}
-wxGLCanvas* GLCanvas3DManager::create_wxglcanvas(wxWindow& parent)
+wxGLCanvas* OpenGLManager::create_wxglcanvas(wxWindow& parent)
{
int attribList[] = {
WX_GL_RGBA,
@@ -310,7 +306,7 @@ wxGLCanvas* GLCanvas3DManager::create_wxglcanvas(wxWindow& parent)
return new wxGLCanvas(&parent, wxID_ANY, attribList, wxDefaultPosition, wxDefaultSize, wxWANTS_CHARS);
}
-void GLCanvas3DManager::detect_multisample(int* attribList)
+void OpenGLManager::detect_multisample(int* attribList)
{
int wxVersion = wxMAJOR_VERSION * 10000 + wxMINOR_VERSION * 100 + wxRELEASE_NUMBER;
bool enable_multisample = wxVersion >= 30003;
diff --git a/src/slic3r/GUI/GLCanvas3DManager.hpp b/src/slic3r/GUI/OpenGLManager.hpp
index 51d4a49b1..06bab2c14 100644
--- a/src/slic3r/GUI/GLCanvas3DManager.hpp
+++ b/src/slic3r/GUI/OpenGLManager.hpp
@@ -1,30 +1,13 @@
-#ifndef slic3r_GLCanvas3DManager_hpp_
-#define slic3r_GLCanvas3DManager_hpp_
+#ifndef slic3r_OpenGLManager_hpp_
+#define slic3r_OpenGLManager_hpp_
-#include "libslic3r/BoundingBox.hpp"
-
-#include <map>
-#include <vector>
-
-class wxWindow;
class wxGLCanvas;
class wxGLContext;
namespace Slic3r {
-
-class BackgroundSlicingProcess;
-class DynamicPrintConfig;
-class Model;
-class ExPolygon;
-typedef std::vector<ExPolygon> ExPolygons;
-class ModelObject;
-class PrintObject;
-
namespace GUI {
-class GLCanvas3D;
-
-class GLCanvas3DManager
+class OpenGLManager
{
public:
enum class EFramebufferType : unsigned char
@@ -98,8 +81,8 @@ private:
static EFramebufferType s_framebuffers_type;
public:
- GLCanvas3DManager() = default;
- ~GLCanvas3DManager();
+ OpenGLManager() = default;
+ ~OpenGLManager();
bool init_gl();
@@ -119,4 +102,4 @@ private:
} // namespace GUI
} // namespace Slic3r
-#endif // slic3r_GLCanvas3DManager_hpp_
+#endif // slic3r_OpenGLManager_hpp_