赞
踩
在OpenGL中,通过使用DrawArrays
或其他在第10.4节中定义的绘图命令,将一系列顶点传递给GL。顶点的数量没有限制,只受限于顶点数组的大小。这些命令的mode参数确定使用这些顶点绘制的图元类型。以下是一些图元类型及其对应的mode参数,以及从多个顶点组装图元时需要的任何额外状态。
POINTS
模式指定一系列独立的点,每个顶点定义一个独立的点。LINE_STRIP
模式指定一系列相连的线段。LINE_LOOP
模式指定一个线环,与线条相似,但有一个例外。LINES
模式指定独立的线段。TRIANGLE_STRIP
模式指定连接在一起的三角形。TRIANGLE_FAN
模式指定一个三角形扇,与三角形条带相似,但每个顶点之后的顶点始终替换两个存储的顶点中的第二个顶点。TRIANGLES
模式指定独立的三角形。LINES_ADJACENCY
模式指定带有相邻关系的线段。LINE_STRIP_ADJACENCY
模式指定带有相邻关系的线条带。TRIANGLES_ADJACENCY
模式指定具有相邻关系的三角形。TRIANGLE_STRIP_ADJACENCY
模式指定具有相邻关系的三角形条带。PATCHES
模式指定独立的片段。void PatchParameteri( GLenum pname, GLint value );
pname
设置为 GL_PATCH_VERTICES
。value
则指定每个patch应该具有的顶点数。例如,如果想要每个patch包含12个顶点来供细分着色器和固定功能细分器使用,那么应传入12
作为 value
参数。v
表示,则从第 vi+1
个顶点到第 vi+v
个顶点(按顺序排列)将确定第 i
个patch,这里的 i
取值范围是从0
到 n-1
,总共有 vn+k
个顶点。而 k
的取值范围是 [0, v-1]
,若 k
不为零,则最后的 k
个顶点会被忽略不计。这意味着当提供的顶点序列无法整除patch所需的顶点数时,剩余的顶点将不会用于构成有效的patch。TRIANGLE_FAN
、TRIANGLE_STRIP
、TRIANGLES
、TRIANGLES_ADJACENCY
或TRIANGLE_STRIP_ADJACENCY
模式生成的多边形图元可以以多种方式呈现,例如描边或填充。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。