我正在学习openGL,并且我遇到了使用顶点缓冲对象的三角形风扇。如果给定要渲染的顶点数组,OpenGL如何确定必须使用多少顶点来构造三角形扇形。似乎可以使用任意数量的顶点。三角形风扇使用多少个顶点opengl
回答
看吧:GL_TRIANGLE FAN Explanation
顶点越多,你给openGL的,更多的三角形你。所有三角形的第一个顶点将是共同的。第一个三角形由顶点1,2和3组成。第二个三角形由1,3和4组成。依此类推。 你得到n - 2个三角形的n个顶点。
这是您用来执行渲染的命令指定的。例如,drawArrays()
和drawElements()
都有一个count
参数,它指定要使用的顶点数。
这可以通过比较三角形条与三角形风扇很容易解释。
三角地带
正如你可能知道,一个三角形地带是一组连接的三角形,其份额顶点,这使得更多的内存使用效率。 (我们节省内存,因为我们不存储所有复制的顶点)的一个三角形地带
三角形扇
在另一方面,我们有一个三角形扇
为例,这是也是一组相连的三角形。尽管所有这些三角形都有一个共同的顶点,也就是中心顶点。 (第一个顶点始终是中心)
就是说我们可以采用上面的相同图像并更改顶点的顺序。当完成后,三角扇将看起来像这样。 (其中A,是在第一和中央顶点)的三角形扇
在三角形扇以上时,图像仅在着色区域工作
实施例,由于顶点如何需要按照三角扇排列。
更好的解释是'strip'总是使用一个三角形的**最后2个顶点**作为前2个顶点下一个三角形。因此,在条形图中,想象做前3个三角形,然后想要添加三角形C-E-G而不是D-E-G。不能这样做,因为D-E自动成为三角形4的开始。结果可以用'fan'来完成,因为有一个共同的顶点。结果图:[Wiki- Triangle fan](https://en.wikipedia.org/wiki/Triangle_fan) – ToolmakerSteve
从外观上看,这是一个三角形风扇的工作原理:
每个三角形共享中心顶点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
另一种考虑这种方式的方法是每个三角形共享从中心顶点与前三角形辐射的边缘;字面上像一个折叠纸扇。
你需要N + 2个顶点,其中N是你的影迷三角形的数量。
- 1. OpenGL三角形风扇
- 2. 在OpenGL ES中绘制三角形风扇需要多少次绘制调用?
- 3. 用三角形风扇绘制圆形
- 4. 使用顶点缓冲对象渲染不同的三角形类型和三角形扇形? (OpenGL)
- 5. Opengl三角形旋转顶点修改
- 6. 三角形风扇的纹理坐标
- 7. 在OpenGLES中绘制带有三角形风扇的多边形
- 8. 使用三个顶点旋转c中的三角形
- 9. opengl中的三角形多边形三角形es
- 10. 确定openGL ES顶点着色器中计算的三角形的顶点
- 11. Opengl三角形和面临顶点限制?
- 12. OpenGL:指定三角形的意外顶点位置
- 13. 多边形三角成三角形条带的OpenGL ES
- 14. 在渲染中使用三角形条和三角形扇有什么好处?
- 15. 用OpenGL绘制一个三角形
- 16. 三角形顶点 - Lua计算?
- 17. 获取三角形顶点fabricjs
- 18. 不规则三角形顶点索引
- 19. C中顶点的三角形数量
- 20. 切圆在三角形顶点
- 21. 从直角三角形和一个顶点的两侧查找未知顶点
- 22. 3D三角形 - 三角形交叉点多边形
- 23. Android OpenGL:为什么我缺少2个三角形?
- 24. uv mapping python OpenGL三角形
- 25. OpenGL 3.3 glDrawArrays三角形
- 26. 基本三角形的OpenGL
- 27. OpenGL三角形不渲染
- 28. OpenGL drawing倒三角形
- 29. OpenGL:在绘制多边形时,如果第一个顶点位于屏幕空间之外(三角形球迷)
- 30. 如何用偶数个顶点倒转三角形条?
http://stackoverflow.com/questions/8043923/gl-triangle-fan-explanation –