OPENGL_三角形带GL_TRIANGLE_STRIP详解

来源:互联网 发布:如何利用网络招聘 编辑:程序博客网 时间:2024/03/29 19:43

使用三角形带原因:减少顶点传递,渲染时api向显卡传输数据量是瓶颈,用较好的传递方法传递一个三角形最少可以少于一个点。

点的顺序根据奇数,偶数不一样的原因:保持所有三角形法线在同一方向。



原文:http://blog.sina.com.cn/s/blog_6084f58801019dja.html

在某些情况下GL_TRIANGLE_STRIP的绘图方式常常使人困惑,下面将对其进行解释。
 GL_TRIANGLE_STRIP是将顶点传递给opengl渲染管道线(pipeline)进行进一步处理的方式(创建几何图形)。还有另外两种GL_TRIANGLES和GL_TRIANGLE_FAN. 关于另外两种方式,参考opengl programming guide。

观察下图,感受一下triangle strip。


这个strip 由6个点构成了四个三角形,顶点传递到渲染管道线的顺序是影响环绕顺序的关键。
创建一个三角形至少需要三个顶点,每一个新增的顶点都形成一个新的三角形。三角形将根据顶点序号的奇偶自行创建:
偶数环绕规则:


奇数环绕规则:


我们来剖析一下上面的例子感受一下:
l   V1,v2,v3形成了第一个三角形,你也可以说v3是奇数,所以由v1,v2,v3构成。
l   V4是偶数,所以下一个三角形由v3,v2,v4构成。
l   V5是奇数,所以下一个三角形由v3,v4,v5构成
l   V6是偶数,所以下一个三角形由v5,v4,v6构成


考虑到两种绘制三角形的方式,环绕方式作为保留

0 0
原创粉丝点击