我正在尝试使用 osmesa(屏幕外台面)创建 OpenGL 上下文。我希望在没有窗口的情况下使用 mesa 的软件实现并将渲染的输出保存到 png 文件中。
http://www.mesa3d.org/osmesa.html
我使用以下内容创建了一个 GL 上下文:
OSMesaContext context = OSMesaCreateContext(GL_RGBA, NULL);
OSMesaMakeCurrent(context, buffer, GL_UNSIGNED_BYTE, width, height);
但是,当我调用glGetString(GL_VERSION)
版本是2.1 Mesa 10.1.1
. 正如预期的那样,我的 GLSL ES 着色器都没有编译。使用 SDL 时,我可以提供版本提示并创建 GLES 2.0 上下文。
如何指定 osmesa 创建的 GL 上下文的版本?