我需要一个多边形的例子,只能通过triangle_strip和另一个只能通过triangle_fan完成的多边形来完成。
答案 0 :(得分:50)
当知道 Triangle Strip 和 Triangle Fan 之间的区别时,很容易形成一个形状。
例如, Triangle Strip 是一组共享顶点的连接三角形。
使用 Triangle Strip ,我们将能够使用给定的顶点获得以下输出。
Triangle Fan 也是一组连接的三角形,尽管所有这些三角形都有一个共同的顶点,即中心顶点。
在OpenGL中,中心顶点是 Triangle Fan 中的第一个给定顶点。
使用 Triangle Fan 和与其他示例相同的顶点,我们只能将彩色区域作为输出。这是由于 Triangle Fan 中顶点排列顺序的重要性。 基本上,所有顶点都需要围绕中心顶点。
正如您在我们的2个顶点示例集中看到的那样,“输出形状”对于 Triangle Strip 和 Triangle Fan 都是唯一的。
我做了类似的回答here,如果你愿意,你可以阅读它,我实际上使用相同的图像,因为问题密切相关。
答案 1 :(得分:8)
难以用纯文字回答。对于Fan来说,S形状是不可能的(一般来说,记住风扇是有限的,因为每个三角形都有一个共同的点)。
至于另一种方式 - 这是一个棘手的问题。 triangle_strip可以执行每个triangle_fan多边形,虽然它需要一些技巧。 考虑以下多边形(显示的排序是针对triangle_fan)
3--4--5
|\ | /|
2--1--6
| \|
8--7
这可以按如下方式完成
2-----4
| \ /|
1--3/7|
| \|
6--5
注意重叠的多边形。如果你不允许双面多边形或重叠,那么这就是一个只有扇形的例子,我猜想。