У меня есть приложение, над которым я работал последний год. Он собирается и нормально работает на различных машинах (включая ОС Ma c). Я только что купил Surface Pro X и был удивлен, что у меня возникли проблемы при рендеринге в QVTKOpenGLWidget
. Приложение запускается, но когда я открываю окно с QVTKOpenGLWidget
, оно вылетает и выдает ошибку нарушения прав доступа в Qt5 Gui .dll.
Я изменил с QVTKOpenGLWidget
на QVTKOpenGLNativeWidget
, что казалось немного улучшили ситуацию, но я ничего не могу отрисовать. Окно открывается и остается открытым до тех пор, пока я не добавляю актера или вызова для рендеринга.
Судя по журналам, Qt, похоже, имеет проблемы с созданием контекста. Журналы VTK продолжают выскакивать следующую ошибку:
vtkGenericOpenGLRenderWindow (0CAD3408): GLEW не может быть инициализирован: отсутствует версия GL
Я пробовал следующее без положительных результатов результаты:
// First attempt
auto format = QVTKOpenGLWidget::defaultFormat();
format.setProfile(QSurfaceFormat::CompatibilityProfile);
QSurfaceFormat::setDefaultFormat(format);
// Second attempt
QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());
Кто-нибудь понял, как заставить это работать? Я не думаю, что проблема связана с c Surface Pro X, а с любым Windows драйвером графического процессора.