glEdgeFlagPointer 函数

glEdgeFlagPointer 函数定义边缘标志数组。

语法

void WINAPI glEdgeFlagPointer(
         GLsizei stride,
   const GLvoid  *pointer
);

参数

大步

连续边缘标志之间的字节偏移量。 当 步幅 为零时,边缘标志紧密地打包在数组中。

pointer

指向数组中第一个边缘标志的指针。

返回值

此函数不返回值。

错误代码

glGetError 函数可以检索以下错误代码。

名称 含义
GL_INVALID_ENUM
步幅计数 为负数。

备注

glEdgeFlagPointer 函数指定呈现时要使用的布尔边缘标志数组的位置和数据。 stride 参数确定从一个边缘标志到下一个边缘标志的字节偏移量,这允许将顶点和属性打包在单个数组中或存储到单独的数组中。 在某些实现中,将顶点和属性存储在单个数组中比使用单独的数组更高效。

使用 glEnableClientState 指定GL_EDGE_FLAG_ARRAY常量时,将启用边缘标志数组。 启用时, glDrawArraysglArrayElement 使用边缘标志数组。 默认情况下,边缘标志数组处于禁用状态。

使用 glDrawArrays 构造基元序列, (所有相同类型的基元) 预先指定的顶点和顶点属性数组。 使用 glArrayElement 通过为顶点和顶点属性编制索引来指定基元; 使用 glDrawElements 通过为顶点和顶点属性编制索引来构造基元序列。

不能在显示列表中包括 glEdgeFlagPointer

使用 glEdgeFlagPointer 指定边缘标志数组时,函数的所有边缘标志数组参数的值将保存在客户端状态中,并且可以缓存静态数组元素。 由于边缘标志数组参数处于客户端状态, 因此 glPushAttribglPopAttrib 不会保存或还原其值。

尽管在 glBegin/glend 对中调用 glEdgeFlagPointer 不会生成错误,但结果未定义。

以下函数检索与 glEdgeFlagPointer 函数相关的信息:

带参数GL_EDGE_FLAG_ARRAY_STRIDE的 glGet

带参数GL_EDGE_FLAG_ARRAY_COUNT的 glGet

带参数GL_EDGE_FLAG_ARRAY_POINTER的 glGetPointerv

glIsEnabled with argument GL_EDGE_FLAG_ARRAY

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Gl.h

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glArrayElement

glBegin

glColorPointer

glDrawArrays

glEnableClientState

glEnd

glGet

glGetPointerv

glGetString

glIndexPointer

glIsEnabled

glNormalPointer

glPopAttrib

glPushAttrib

glTexCoordPointer

glVertexPointer