当前位置:  开发笔记 > 编程语言 > 正文

OpenGL:快速离屏渲染

如何解决《OpenGL:快速离屏渲染》经验,为你挑选了1个好方法。

我需要使用OpenGL在屏幕外渲染相当多的(数万个)图像.
我在Windows下运行并使用QT作为框架.解决方案可以只是Windows,它并不重要.

从我发现使用Google的内容来看,有很多选项可以做到这 一点.这篇看似相当过时的文章提出了几种方法,其中相关的方法是:

特定于Windows - 使用CreateDIBSection并以某种方式将纹理绑定到它.

使用我的卡上似乎支持的pbuffers扩展.

该线程(消息6)建议使用QT特定的方式QGLWidget::renderPixmap

我的问题是 - 哪一个是最快的方式?pbuffers似乎是最安全的赌注,因为它保证在硬件上执行但不使用CreateDIB方法也通过硬件?QT方法怎么样?这个似乎存在一些上下文创建问题.当然我不想为我创建的每个图像创建新的上下文.
有没有人对此有一些很好的经验?


编辑:回答评论 -
我有一个不变的场景,我从许多不同的角度渲染它.现在,图像将返回给用户,并由CPU处理.可能在未来它们将在GPU上进行处理.



1> House MD..:

使用FBO.它比pbuffers快速,便携且使用起来更好.

编辑:为了获得最佳性能,在两个不同的FBO之间进行交替渲染:

    渲染到A.

    渲染到B.

    从A读回并处理它

    渲染到A.

    从B回读

    转到2

通过这种方式,您可以回读一个FBO,然后在GPU并行渲染到另一个FBO时对其进行处理.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有