【问题标题】:2D Engine scrolling on OpenGL via hardware?通过硬件在 OpenGL 上滚动 2D 引擎?
【发布时间】:2011-01-21 23:35:12
【问题描述】:

我使用 OpenGL 作为 2D 平铺引擎的底端。 当一切都是 2D 时,优化某些问题很简单。 例如,滚动。如果我知道屏幕的某个部分 需要滚动到底部,然后我就可以跳过那部分。 我晚上一次移动超过 1 个像素。没有明确的硬件 支持(想想旧的任天堂硬件),这需要大量的像素写入。一个 片上 bitblt 将是下一个最好的东西。

基本上,我正在研究如何优化我的 GL 调用以使用 VRAM 纹理呈现为高效的硬件 blit。

是否可以让 GL 滚动帧缓冲区,或者我应该只是 让自己对整个场景进行双重缓冲和重新渲染 每一帧?

谢谢

【问题讨论】:

    标签: opengl tiles gpu bitblt


    【解决方案1】:

    我不知道您将如何解决,至少,每帧都使用纹理进行全屏矩形渲染(当它实际滚动时)。我已经有一段时间没有看到能够在显卡上移动帧缓冲区指针了。

    但是,您可以限制每帧需要渲染多少场景。如果将滚动场景保留为纹理,则可以绑定到屏幕外帧缓冲区并在其无效部分上进行渲染。然后,您只需使用 UV 操作来完成最终的全屏矩形 blit。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-08
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 2020-02-09
      • 2020-08-11
      相关资源
      最近更新 更多