好的,我知道gl_quads已过时,因此我们不再“应该”使用它们。我也了解现代PC在使用gl_quads运行游戏时实际上会绘制两个三角形。
现在,我听说是因为应该使用三角形来编写游戏。但是我想知道,由于OpenGL如何将四边形变成两个三角形,是否仍然有利于使用四边形?
具体来说,我目前正在从相当大的缓冲区对象渲染许多未连接的四边形。我必须要注意的领域之一是,我用来制作/更新这些缓冲区对象的浮点矢量的大小(我每个顶点有很多额外的浮点值,并且缓冲区中有很多顶点-最大缓冲区约为500KB)。
因此,令我惊讶的是,如果我更改缓冲区对象以绘制三角形,则此顶点数据将大50%(六个正方形绘制一个正方形而不是4个顶点),并且CPU生成所需的时间要长50%。
如果gl_quads仍然有效,我在这里能受益吗?还是在OpenGL自动转换为两个三角形时仍在使用50%的额外内存和CPU时间?