OpenGL ES 1.1是否尝试渲染不会出现在屏幕上的内容?

时间:2011-01-04 19:55:37

标签: iphone optimization opengl-es

我正在尝试确定OpenGL ES 1.1(或2.0,如果存在差异)将尝试渲染任何超出可视区域的内容。

是否进行检查以确保在计算所有内容之前需要实际渲染?如果确实如此,这一步将在何处发生?我根本没有找到关于这个主题的很多信息。

我是否应该在编程时检查图像是否应该/将会落入(或非常接近于)可视区域并且仅在可视区域中绘制?或者这会完全是多余的,因为OpenGL会为我处理部分内容吗?

或者甚至可以设置OpenGL状态来改变这里的行为吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

它无法渲染帧缓冲区之外的任何内容(假设您已将可视区域设置为相同大小),因为没有任何内容可以绘制。这对OpenGL ES 1.1和2.0都很重要。 但是,您仍然将数据推送到GPU并且数据将被剪切,因此您仍然可以通过让CPU等待总线和来自GPU的ok来浪费时间。在通过OpenGL ES将数据推送到GPU之前,最好剪辑你的东西