首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有osmesa的OpenGL ES 2.0

带有osmesa的OpenGL ES 2.0
EN

Stack Overflow用户
提问于 2015-05-08 23:06:15
回答 1查看 1.5K关注 0票数 6

我正在尝试用osmesa (屏幕外mesa)创建一个OpenGL上下文。我希望使用没有窗口的mesa的软件实现,并将呈现的输出保存到png文件中。

http://www.mesa3d.org/osmesa.html

我创建一个GL上下文,其内容如下:

代码语言:javascript
复制
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时,我可以提供一个版本提示,并创建一个GLEs2.0上下文。

如何指定由osmesa创建的GL上下文的版本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-23 21:01:56

如果您查看第745行周围的src/ Mesa /drivers/osmesa/osmesa.c,可以看到它明确要求OpenGL兼容性配置文件,mesa将其限制为OpenGL 2.1和GLSL 130 (参见src/mesa/main/version.c行)。在Mesa10.6.2中,将API_OPENGL_COMPAT替换为API_OPENGL_CORE结果的OpenGL版本为0.0,因此不幸的是,简单的修复无法工作。但是,将MESA_GL_VERSION_OVERRIDE环境变量设置为"3.3“似乎有效。除了看到glGetString(GL_VERSION)返回的内容之外,还没有进行测试。祝好运!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30134112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档