将多个四条带转换为单个四边形条带

时间:2012-10-14 22:04:13

标签: opengl mesh

我想通过添加适当的退化四边形将下图中的五个四边形条带(下面指定为黑色索引)转换为单个四边形条带。增加的灰色指数似乎可以解决问题,但我想知道是否有更紧凑的方式。 enter image description here

2 个答案:

答案 0 :(得分:3)

您应该使用primitive restart而不是使用退化三角形。有了这个,您只需指定特定索引重新启动基元。核心OpenGL 3.1版本已有几年历史,NVIDIA(自GeForce 6xxx天以来)和ATI(所有HD级硬件)广泛支持NV_primitive_restart扩展。

答案 1 :(得分:1)

如果它绝对必须是四条带,那么我相信没有别的事可做(除了已经提到的原始重启)。但是,如果你愿意并且能够使用三角形条(我强烈建议),它会带来一点点改进。

true 索引对于四边形条带和等效三角形条带是相同的,因此在这方面没有什么可失去的。但是,四重条重启需要两个停止索引和两个启动索引。三角形条重新启动只需要一个停止索引和一个启动索引。

在最初的例子中,通过三次重启,这将削减六个指数。