目前我正在开发一个使用 GLEW 和 GLX(在 X11 上)的应用程序。
逻辑工作如下......
glewInit(); /* <- needed so 'GLXEW_ARB_create_context' is set! */
if (GLXEW_ARB_create_context) {
/* opengl >= 3.0*/
.. get fb_config ..
context = glXCreateContextAttribsARB(...);
}
else {
/* legacy context */
context = glXCreateContext(...);
}
我遇到的问题GLXEW_ARB_create_context
是由 glew 初始化,但初始化 glew 调用glGetString
,如果它在之前调用(glXCreateContextAttribsARB
/ glXCreateContext
)会崩溃。
请注意,这只发生在 Mesa 的软件光栅化器(使用 swrast 编译的 libGL.so)中。所以它也可能是 Mesa 的问题。