我正在学习openGL,我遇到了使用顶点缓冲对象的三角扇.如果给定要渲染的顶点数组,openGL如何确定必须使用多少个顶点来构造三角形扇形.似乎可以使用顶点的任意数量.
Val*_*tin 11
通过比较Triangle Strips和Triangle Fans可以很容易地解释这一点.
您可能知道,Triangle Strip是一组共享顶点的连接三角形,这样可以更有效地使用内存.(我们节省了内存,因为我们不存储所有重复的顶点)

另一方面,我们有一个三角扇,这也是一组连接的三角形.虽然所有这些三角形都有一个共同的顶点,即中心顶点.(第一个顶点始终是中心)
据说我们可以拍摄上面相同的图像并改变顶点的顺序.完成后,Triangle Fan会是这样的.(其中A,是第一个和中心顶点)

在上面的图像中,三角扇只能在彩色区域中工作,因为顶点需要根据三角扇来排列.

每个三角形共享中心顶点A,并重新使用最后一个被寻址的顶点。因此,定义之后ABC的每个三角形仅需要 1 个点(例如D、E、F)。
Indices: A,B,C,D,E,F [Count: 6]
Triangles: (A,B,C)
(A) (C,D)
(A) (D,E)
(A) (E,F) [N=4] --> 4+2 = 6
Run Code Online (Sandbox Code Playgroud)
另一种思考方式是,每个三角形与前一个三角形共享一条从中心顶点辐射出来的边;字面上就像折纸扇一样。

给 openGL 的顶点越多,得到的三角形就越多。第一个顶点对于所有三角形都是公共的。第一个三角形由顶点 1、2 和 3 组成。第二个三角形由顶点 1、3 和 4 组成。依此类推。您将得到 n - 2 个具有 n 个顶点的三角形。
| 归档时间: |
|
| 查看次数: |
6193 次 |
| 最近记录: |