热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OPENGL_三角形带GL_TRIANGLE_STRIP详解

使用三角形带原因:减少顶点传递,渲染时api向显卡传输数据量是瓶颈,用较好的传递方法传递一个三角形最少可以少于一个点。点的顺序根据奇数,偶数不一样的原因:保持所有三角形法线在同一方向。

使用三角形带原因:减少顶点传递,渲染时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构成


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


推荐阅读
author-avatar
猫猫爱妞_462
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有