我需要一个只能由GL_TRIANGLE_STRIP完成的多边形和另一个只能由GL_TRIANGLE_FAN完成的多边形的示例。
发布于 2013-12-05 16:23:54
当知道三角形带和三角形扇形之间的区别时,一个形状将很容易制作。
三角形条带
例如,三角形带是共享顶点的一组相连的三角形。
三角形条带的示例
使用三角形条带,我们将能够得到以下输出,使用这些给定的顶点。

三角形风扇
其中三角扇也是一组相连的三角形,尽管所有这些三角形都有一个公共顶点,即中心顶点。
在OpenGL中,中心顶点是三角形扇形中的第一个给定顶点。
三角形风扇的示例
使用三角扇和其他示例中相同的顶点,我们将只能获得彩色区域作为输出。这是由于三角形扇形中顶点排列顺序的重要性。基本上,所有的顶点都需要绕过中心顶点。

结论
正如你所看到的,在我们的两组示例顶点上,这些“输出形状”对于三角形条带和三角扇形都是唯一的。
注:图像示例使用顺时针winding order,而在OpenGL中,正面使用逆时针缠绕顺序,即示例实际上是面向远离相机的。如果启用了face culling,这是一个重要的细节。
额外的
我做了一个类似的答案,如果你愿意,你可以阅读它,我实际上使用了相同的图像,因为问题是密切相关的。
发布于 2013-12-05 16:20:24
很难用纯文本回答。对于Fan来说,S形状是不可能的(一般来说,记住fan是有限的,因为每个三角形都有一个公共点)。
反过来说,这是刁钻的问题。triangle_strip可以做每一个triangle_fan多边形,尽管它需要一些技巧。考虑以下多边形(显示的顺序是针对triangle_fan的)
3--4--5
|\ | /|
2--1--6
| \|
8--7这可以按如下方式完成
2-----4
| \ /|
1--3/7|
| \|
6--5请注意重叠的多边形。如果你不允许双面多边形或重叠,那么这将是一个仅扇形多边形的例子,我想。
https://stackoverflow.com/questions/20394727
复制相似问题