【发布时间】:2013-03-28 02:24:53
【问题描述】:
我看到偶尔有文章建议在将顶点发送到 OpenGL(对于任何 OpenGL 变体)时,将顶点从距相机最近到最远的顺序排列。这样做的原因是,如果一个顶点位于另一个已经渲染的顶点之后,OpenGL 将不会完全处理/渲染它。
由于按深度对顶点进行排序是任何项目的成本高昂的组成部分,而且这种排序通常会频繁更改,因此这种设计有多普遍或必要?
我之前认为 OpenGL 会“查看”所有提交的顶点并在它们上处理自己的深度缓冲,而不管它们的顺序如何,在渲染整个批次之前。但如果事实上一个顶点在另一个顶点之前被渲染到屏幕上,那么我可以看到排序如何提高性能。
优化渲染是否需要从前到后绘制?
【问题讨论】:
-
您问的是 OpenGL 还是 OpenGL ES?因为答案将不同,这取决于这两个平台执行的非常真实的硬件差异。
-
很高兴知道这一点。我正在研究这两个系统的跨平台图形,因此在这方面,与两者或其中任何一个相关的答案都是有用的。
标签: opengl graphics opengl-es 3d opengl-es-2.0