Инициализируйте Glew изнутри wxGLCanvas под Linux
Когда конструктор для меня wxGLCanvas
Подкласс
MyGLCanvas::MyGLCanvas(wxWindow* parent)
: wxGLCanvas(parent, wxID_ANY, 0)
{
wxGLContext *m_context = new wxGLContext(this);
SetCurrent(*m_context);
GLenum err = glewInit();
}
называется glewInit()
возвращает мне код ошибки для "Missing GL version".
Это только под Ubuntu, где я связываю с флагами -lGLEW -lGL
, wxWidgets - это версия 2.8 и OpenGL 3.0 Mesa 10.1.3. Под ОС Windows ошибки нет.
Я благодарен за любые указатели. Дайте мне знать, если вам нужна дополнительная информация или MWE.
1 ответ
Решение
Я обновил wxWidgets
до версии 3.1 и перенес SetCurrent
а также glewInit
вызов из конструктора обработчику событий, связанному с wxEVT_PAINT
и убедился, что он вызывается только один раз.
Теперь это работает.