glDrawElements 函数
glDrawElements 函数呈现数组数据中的基元。
语法
void WINAPI glDrawElements(
GLenum mode,
GLsizei count,
GLenum type,
const GLvoid *indices
);
参数
-
mode
-
要呈现的基元类型。 它可以假定以下符号值之一:GL_POINTS、GL_LINE_STRIP、GL_LINE_LOOP、GL_LINES、GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN、GL_TRIANGLES、GL_QUAD_STRIP、GL_QUADS和GL_POLYGON。
-
计数
-
要呈现的元素数。
-
type
-
索引中值的类型。 必须是GL_UNSIGNED_BYTE、GL_UNSIGNED_SHORT或GL_UNSIGNED_INT之一。
-
索引
-
指向存储索引的位置的指针。
返回值
此函数不返回值。
错误代码
glGetError 函数可以检索以下错误代码。
名称 | 含义 |
---|---|
|
mode 不是接受的值。 |
|
count 为负值。 |
|
函数是在 对 glBegin 的调用和对 glEnd 的相应调用之间调用的。 |
备注
使用 glDrawElements 函数可以指定多个几何基元,且函数调用很少。 无需调用 OpenGL 函数来传递每个单独的顶点、法线或颜色,可以预先指定顶点、法线和颜色的单独数组,并使用它们定义一系列基元, (所有相同类型) ,只需调用 glDrawElements 即可。
调用 glDrawElements 函数时,它使用索引中的顺序元素计数来构造几何基元序列。 mode 参数指定构造的基元类型,以及如何使用数组元素构造这些基元。 如果未启用GL_VERTEX_ARRAY,则不会生成几何基元。
glDrawElements 修改的顶点属性在 glDrawElement 返回后具有未指定的值。 例如,如果启用GL_COLOR_ARRAY,则执行 glDrawElements 后,当前颜色的值将不确定。 未修改的属性保持不变。
可以在显示列表中包括 glDrawElements 函数。 当 glDrawElements 包含在显示列表中时,必要的数组数据 (由数组指针确定并启用) 也会输入到显示列表中。 由于数组指针和启用是客户端状态变量,因此其值在创建列表时影响显示列表,而不是在执行列表时影响显示列表。
注意
glDrawElements 函数仅在 OpenGL 版本 1.1 或更高版本中可用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|