3

如果将同一个顶点 A 多次放入三角形带中,然后取另一个顶点 B 并将其多次放入三角形带中(数量取决于要继续使用的三角形方向),则可以有效地拥有两个单独的三角形条带仅通过一个绘制调用来渲染(第一个包含顶点 A 之前的所有三角形,第二个包含顶点 B 之后的所有三角形)。

我的问题:

恐怕,即使完整的三角形条带绘制调用将绘制几何简单连接的网格,我在尝试对网格进行纹理处理时也会遇到问题,因为它们之间存在跳跃。我还没到那里,所以我无法测试它。我的假设正确吗?无论如何,在“绘图网格”行业中,我在三角形带中的跳跃是一种有效的技术吗?有什么方法可以适当地对结果进行纹理化,或者有一个等效的更好的跳跃替代方案?

4

2 回答 2

3

考虑一个由细分为 4 个相似三角形的三角形组成的“网格”:

      2
       /\
      /  \
   1 /____\3
    /\    /\
   /  \  /  \
0 /____\/4___\5

假设逆时针(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}

如果使用有效的网格条带化,这会为较大的网格添加可忽略不计的额外几何形状。

于 2012-08-08T10:55:11.387 回答
2

光栅器绘制三角形的区域。具有两个相同点的“三角形”没有面积。因此,没有要渲染的三角形区域。

退化三角形(两个点相同的三角形的技术术语)是连接多个条带的常用技术。这通常在索引数组中通过添加更多索引来完成;网格的实际拓扑无需更改。

于 2012-08-08T10:48:15.720 回答