glNormalPointer 函数

glNormalPointer 函数定义法线数组。

语法

void WINAPI glNormalPointer(
         GLenum  type,
         GLsizei stride,
   const GLvoid  *pointer
);

参数

type

数组中每个坐标的数据类型,使用下列符号常量:GL _ BYTE、GL _ SHORT、GL _ INT、GL _ FLOAT 和 GL _ DOUBLE。

大步

连续法线之间的字节偏移量。 当 幅为零时,法线将紧密打包在数组中。

指针

指向数组中第一个法线的指针。

返回值

此函数不返回值。

错误代码

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

名称 含义
GL _ 无效 _ 枚举
type 不是接受的值。
GL _ 无效 _ 操作
stridecount 为负数。

备注

glNormalPointer 函数指定在呈现时要使用的法线数组的位置和数据。 type 参数指定每个正态坐标的数据类型。 stride 参数确定从一个法线到下一个法线之间的字节偏移量,从而支持将顶点和属性打包到单个数组或单独数组中的存储中。 在某些实现中,将顶点和属性存储在单个数组中比使用单独的数组更有效;有关详细信息 ,请参阅 glInterleavedArrays。

使用 _ _ glEnableClientState指定 GL NORMAL ARRAY 常量时,将启用普通数组。 启用后 ,glDrawArrays、glDrawElementsglArrayElement使用普通数组。 默认情况下,常规数组处于禁用状态。

不能在显示 列表中包含 glNormalPointer。

使用 glNormalPointer 指定普通数组时,所有函数的正常数组参数的值将保存在客户端状态中。 由于常规数组参数以客户端状态保存,因此 glPushAttribglPopAttrib不会保存或还原其值。

尽管在 glBeginglEnd对中调用 glNormalPointer 时不会生成任何错误,但结果未定义。

以下函数与 glNormalPointer 相关联

glGet 和参数 GL _ NORMAL _ ARRAY _ STRIDE

glGet 和参数 GL _ NORMAL _ ARRAY _ COUNT

glGet 和参数 GL _ NORMAL _ ARRAY _ TYPE

具有参数 GL NORMAL ARRAY POINTER 的 glGetPointerv _ _ _

glIsEnabled 与参数 GL _ NORMAL _ ARRAY

要求

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

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glArrayElement

glColorPointer

glDrawElements

glDrawArrays

glEnable

glEdgeFlagPointer

glGetPointerv

glIndexPointer

glIsEnabled

glInterleavedArrays

glTexCoordPointer

glVertexPointer

glGetString