1

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

插图

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

4

1 回答 1

1

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

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

于 2013-07-23T20:51:10.803 回答