在 Linux 下从 wxGLCanvas 中初始化 Glew
Initialize Glew from within wxGLCanvas under Linux
当我的wxGLCanvas
子class
的构造器
MyGLCanvas::MyGLCanvas(wxWindow* parent)
: wxGLCanvas(parent, wxID_ANY, 0)
{
wxGLContext *m_context = new wxGLContext(this);
SetCurrent(*m_context);
GLenum err = glewInit();
}
被称为 glewInit()
returns 我是 "Missing GL version" 的错误代码。
这仅在 Ubuntu 下,我 link 带有标记 -lGLEW -lGL
,wxWidgets 是版本 2.8 和 OpenGL 3.0 Mesa 10.1.3。 Windows下OS没有报错
感谢您的指点。如果您需要任何其他信息或 MWE,请告诉我。
我将 wxWidgets
更新到 3.1 版并将 SetCurrent
和 glewInit
调用从构造函数移动到绑定到 wxEVT_PAINT
的事件处理程序并确保它是只调用一次。
现在可以了。
当我的wxGLCanvas
子class
MyGLCanvas::MyGLCanvas(wxWindow* parent)
: wxGLCanvas(parent, wxID_ANY, 0)
{
wxGLContext *m_context = new wxGLContext(this);
SetCurrent(*m_context);
GLenum err = glewInit();
}
被称为 glewInit()
returns 我是 "Missing GL version" 的错误代码。
这仅在 Ubuntu 下,我 link 带有标记 -lGLEW -lGL
,wxWidgets 是版本 2.8 和 OpenGL 3.0 Mesa 10.1.3。 Windows下OS没有报错
感谢您的指点。如果您需要任何其他信息或 MWE,请告诉我。
我将 wxWidgets
更新到 3.1 版并将 SetCurrent
和 glewInit
调用从构造函数移动到绑定到 wxEVT_PAINT
的事件处理程序并确保它是只调用一次。
现在可以了。