加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 创建跨平台OpenGL屏幕外环境

发布时间:2020-12-16 03:43:21 所属栏目:百科 来源:网络整理
导读:我有一个任务是在C中实现Window和 Linux的屏幕外OpenGL渲染器.我已经使用 LWJGL lib用Java编写了这样的版本.我使用了PBuffer对象,它根据使用的OS创建了Pbuffers.首先我想到的重新实现完整的PBuffer创建逻辑就像我在LWJGL的原生源中完成一样.然后我在StackOve
我有一个任务是在C中实现Window和 Linux的屏幕外OpenGL渲染器.我已经使用 LWJGL lib用Java编写了这样的版本.我使用了PBuffer对象,它根据使用的OS创建了Pbuffers.首先我想到的重新实现完整的PBuffer创建逻辑就像我在LWJGL的原生源中完成一样.然后我在StackOverflow.com上阅读 this帖子,建议使用标准上下文创建,假设使用 GLFW(这是跨平台)但是不要创建实际的窗口.这是正确的方法吗?在这种情况下使用Pbuffer的利弊是什么?

更新:
我只想强调我使用FBO渲染帧,所以我的问题不在于如何在屏幕外模式下渲染,而是如何在Windows和Linux操作系统中创建没有窗口的上下文.

解决方法

我强烈建议不再使用 PBuffers,而是使用 Frame Buffer Objects (FBOs)代替. FBO提供了更好的性能,因为使用它们不需要上下文切换,并且它们具有 several other advantages.

LWJGL supports FBOs,但是GLFW对于OpenGL和not for rendering的跨平台设置来说“只是”.为了方便的跨平台FBO使用,我建议在GLFW之上使用像OGLplus这样的库.有关渲染到纹理的示例,请参见here.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读