【问题标题】:OpenGL ES 2.0: attach smaller texture to framebufferOpenGL ES 2.0:将较小的纹理附加到帧缓冲区
【发布时间】:2013-07-23 02:34:32
【问题描述】:

我在我的 Android 游戏中使用渲染到纹理和适当的着色器实现了绽放后期处理效果。它有效,但性能损失是不可接受的。所以我认为我可以将场景渲染为更小的纹理,然后将纹理拉伸到全屏。问题是,当我将小于视口的纹理附加到屏幕外帧缓冲区时,场景被裁剪。下图说明了这个问题:

有什么方法可以以某种方式将附加的纹理“映射”到帧缓冲区,以便将整个视口渲染到它?我可能可以修改投影矩阵以实现目标,但这会使我的代码复杂化,我宁愿避免它。

【问题讨论】:

    标签: opengl-es-2.0 render-to-texture post-processing


    【解决方案1】:

    我认为您可以通过在渲染到纹理之前简单地更改视口以匹配纹理尺寸来做到这一点,然后在渲染到帧缓冲区之前将视口设置回视图的尺寸。应该不会有明显的性能损失,因为您调用 glViewport() 的频率会增加两倍。

    您关于缩放投影矩阵的建议也应该有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      相关资源
      最近更新 更多