OpenGL:使用GL_QUADS或GL_TRIANGLES更有效吗?

Cod*_*ler 4 opengl geometry gpu

我知道OpenGL已弃用,并在新版本中删除了GL_QUADS.我听说这是因为现代GPU只用三角形渲染,所以调用四边形只会让GPU更难将它分成两个三角形(我听说无论如何,我不是任何一个专家这个话题).

我想知道它是否更好(假设一般人的CPU比他们的GPU更快,相对而言)只是手动将四边形渲染成两个三角形,或者让GPU自己做.再说一遍,我刚刚开始时,我对OpenGL没有真正的经验.我宁愿知道这些天大多数机器哪个更好,所以我可以把注意力集中在渲染方法*上.谢谢.

*然而,为了它,我可能会使用'三角法'.

she*_*heu 7

即使您提供OpenGL四边形,三角化也是由CPU侧的驱动程序完成,然后才能进入GPU.现在的GPU如今除了三角形之外什么都不吃.(好吧,线条和点.)所以有些东西会被三角测量,无论是你还是司机 - 它发生的地方并不重要.

如果你没有重复使用顶点缓冲区,而是每次使用四边形重新填充它们(在这种情况下驱动程序必须对每个顶点缓冲区进行重新网格化),而不是每次使用前三角形三角形重新填充它们,这样效率就会降低.时间,但这是非常人为的(在这种情况下你应该解决的问题只是你正在重新填充你的顶点缓冲区).

我会说,如果你有选择的话,坚持使用三角形,因为这是大多数内容管道所提出的,并且你不太可能遇到非平面四边形等问题.如果您要选择内容的格式,请确保使用三角形,并完全跳过三角测量步骤.