Checking for OpenGL driver version in the GUI slicer and giving some
reasonable advice to the user in case OpenGL < 2.0 was detected.
This commit is contained in:
parent
2e7d5e5bc1
commit
88dcb7f366
2 changed files with 15 additions and 2 deletions
|
@ -60,7 +60,6 @@ PrinterTechnology get_printer_technology(const DynamicConfig &config)
|
|||
|
||||
int CLI::run(int argc, char **argv)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
// Switch boost::filesystem to utf8.
|
||||
try {
|
||||
boost::nowide::nowide_filesystem();
|
||||
|
@ -74,12 +73,12 @@ int CLI::run(int argc, char **argv)
|
|||
SLIC3R_APP_NAME " will now terminate.\n\n") + ex.what();
|
||||
#ifdef SLIC3R_GUI
|
||||
if (m_actions.empty())
|
||||
// Empty actions means Slicer is executed in the GUI mode. Show a GUI message.
|
||||
MessageBoxA(NULL, text.c_str(), caption.c_str(), MB_OK | MB_ICONERROR);
|
||||
#endif
|
||||
boost::nowide::cerr << text.c_str() << std::endl;
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (! this->setup(argc, argv))
|
||||
return 1;
|
||||
|
|
|
@ -293,6 +293,20 @@ bool GUI_App::on_init_inner()
|
|||
config_wizard_startup(app_conf_exists);
|
||||
preset_updater->slic3r_update_notify();
|
||||
preset_updater->sync(preset_bundle);
|
||||
const GLCanvas3DManager::GLInfo &glinfo = GLCanvas3DManager::get_gl_info();
|
||||
if (! glinfo.is_version_greater_or_equal_to(2, 0)) {
|
||||
// Complain about the OpenGL version.
|
||||
wxString message = wxString::Format(
|
||||
_(L("PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \n"
|
||||
"while OpenGL version %s, render %s, vendor %s was detected.")), wxString(glinfo.get_version()), wxString(glinfo.get_renderer()), wxString(glinfo.get_vendor()));
|
||||
message += "\n";
|
||||
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."));
|
||||
#endif
|
||||
wxMessageBox(message, wxString("PrusaSlicer - ") + _(L("Unsupported OpenGL version")), wxOK | wxICON_ERROR);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue