OpenGl绘制基本单元注解

来源:互联网 发布:java与javascript区别 编辑:程序博客网 时间:2024/06/01 08:00
值 意义 GL_POINTS 孤立的点 GL_LINES 成对的顶点组成独立的直线片段 GL_LINE_STRIP 一系列相连的直线 GL_LINE_LOOP 和上面一样, 只是在第一个和最后一个顶点相连 GL_TRIANGLES 每三个顶点被解释为一个三角形 GL_TRIANGLE_STRIP 相连三角形存在共用边 GL_TRIANGLE_FAN 扇形连接三角形 GL_QUADS 四个顶点一组被解释为四边形 GL_QUAD_STRIP 存在共用边的四边形 GL_POLYGON 简单的凸多边形

引用图解释义
引用:
2.1 OpenGL基元
在OpenGL中,应用程序通过指定一个基本类型和一系列具有关联数据的顶点来渲染图元。 原始类型决定了OpenGL如何解释和渲染顶点序列。
2.1.1原始类型
OpenGL提供十种不同的原始类型,用于绘制点,线和多边形,如图所示
OpenGL使用以下规则解释顶点并渲染每个基元:
这里写图片描述

值 解释 GL_POINTS 使用此基本类型来渲染数学点。 OpenGL为每个指定的顶点呈现一个点。 GL_LINES 使用此原语绘制未连接的线段。 OpenGL为每组两个顶点绘制一个线段。如果应用程序指定了n个顶点,OpenGL将渲染n/2个线段。如果n是奇数,OpenGL会忽略最终的顶点。 GL_LINE_STRIP 使用此原语绘制连接线段的序列。 OpenGL在第一个和第二个顶点之间,第二个和第三个之间,第三个和第四个之间呈现线段,依此类推。如果应用程序指定了n个顶点,OpenGL会渲染n-1个线段。 GL_LINE_LOOP 使用此原语来关闭线条。 OpenGL通过在最终和第一个顶点之间添加一个闭合线段来呈现像GL_LINE_STRIP这样的基元。 GL_TRIANGLES 使用此基元绘制单个三角形。 OpenGL为每组三个顶点呈现一个三角形。如果您的应用程序指定了n个顶点,OpenGL会渲染n/3个三角形。如果n不是3的倍数,OpenGL会忽略多余的顶点。 GL_TRIANGLE_STRIP 使用此基元绘制共享边的三角形序列。 OpenGL使用第一,第二和第三顶点渲染三角形,然后使用第二,第三和第四顶点,等等。如果应用程序指定n个顶点,则OpenGL会呈现n-2个连接的三角形。如果n小于3,OpenGL不会显示任何内容。 GL_TRIANGLE_FAN 使用此基元绘制共享边缘的三角形风扇,并共享一个顶点。每个三角形共享指定的第一个顶点。如果应用程序指定了顶点序列v,OpenGL将使用v 0,v 1和v 2渲染三角形;使用v 0,v 2和v 3的另一个三角形;另一个使用v 0,v 3和v 4的三角形;等等。如果应用程序指定n个顶点,则OpenGL会呈现n-2个连接的三角形。如果n小于3,OpenGL不会显示任何内容。 GL_QUADS 使用此原语绘制单个凸四边形。 OpenGL为每组四个顶点呈现四边形。如果应用程序指定了n个顶点,OpenGL会渲染n / 4个四边形。如果n不是4的倍数,OpenGL会忽略多余的顶点。 GL_QUAD_STRIP 使用此原语来绘制共享边的四边形序列。如果应用程序指定了顶点序列v,则OpenGL使用v 0,v 1,v 3和v 2呈现四边形;使用v 2,v 3,v 5和v 4的另一个四边形;等等。如果应用程序指定了n个顶点,OpenGL会渲染(n-2)/ 2个四边形。如果n小于4,OpenGL不会显示任何内容。 GL_POLYGON 使用GL_POLYGON绘制单个填充的凸起n-gon原语。 OpenGL渲染一个n边多边形,其中n是应用程序指定的顶点数。如果n小于3,OpenGL不会显示任何内容。

对于GL_QUADS,GL_QUAD_STRIP和GL_POLYGON,所有图元必须都是平面的和凸的。否则,OpenGL行为是未定义的。 GLU库支持多边形细分,允许应用程序渲染非凸或自相交的填充图元,或者包含孔。有关详细信息,请参阅“OpenGL®参考手册”中的“gluTess”功能集。

原创粉丝点击