如果将相同的顶点 A 多次放入三角形条带中,然后取另一个顶点 B 并将这个顶点也放入三角形条带中几次(数量取决于想要继续的三角形方向),那么实际上只需一次绘制调用即可渲染两个单独的三角形条带(第一个包含顶点 A 之前的所有三角形,第二个包含顶点 A 之后的所有三角形B)。
我的问题:
恐怕,即使完整的三角形条带绘制调用将绘制几何上简单的网格,但由于两者之间的跳跃,我在尝试纹理网格时会遇到问题。我还没有完全到达那里,所以我无法测试它。我的假设正确吗?我在三角形条上的跳跃至少是"绘制网格"行业的有效技术吗?有没有办法适当地纹理结果,或者比跳跃表现更好的等效替代方案?
考虑一个由三角形组成的"网格",该三角形细分为 4 个相似的三角形:
2
/
/
1 /____3
/ /
/ /
0 /____/4___5
假设 CCW(glFrontFace)缠绕,三角形:{0,4,1}, {1,4,3}, {3,2,1}
被编码为条带:{0,4,1,3,2}
。诀窍是添加三角形:通过添加退化(零面积)三角形来{4,5,3}
,同时保持正确的绕组。总之:
{0,4,1,3,2,2,3,3,5,4}
,添加零面积三角形:{3,2,2}, {2,2,3}, {3,3,5}
。
这为较大的网格增加了可以忽略不计的额外几何体,前提是使用高效的网格条带。
光栅器绘制三角形的面积。具有两个相同点的"三角形"没有面积。因此,没有要渲染的三角形区域。
退化三角形(两个点相同的三角形的技术术语)是连接多个条带的常用技术。这通常在索引数组中通过添加更多索引来完成;网格的实际拓扑不需要更改。