glInterleavedArrays 函数
glInterleavedArrays 函数同时指定并启用较大聚合数组中的多个交错数组。
语法
void WINAPI glInterleavedArrays(
GLenum format,
GLsizei stride,
const GLvoid *pointer
);
参数
-
format
-
要启用的数组的类型。 参数可以采用以下符号值之一:GL_V2F、GL_V3F、GL_C4UB_V2F、GL_C4UB_V3F、GL_C3F_V3F、GL_N3F_V3F、GL_C4F_N3F_V3F、GL_T2F_V3F、GL_T4F_V4F、GL_T2F_C4UB_V3F、GL_T2F_C3F_V3F、GL_T2F_N3F_V3F、GL_T2F_C4F_N3F_V3F或GL_T4F_C4F_N3F_V4F。
-
大步
-
每个聚合数组元素之间的偏移量(以字节为单位)。
-
pointer
-
指向聚合数组的第一个元素的指针。
返回值
此函数不返回值。
错误代码
glGetError 函数可以检索以下错误代码。
名称 | 含义 |
---|---|
|
format 不是接受的值。 |
|
stride 为负值。 |
|
函数是在 对 glBegin 的调用和对 glEnd 的相应调用之间调用的。 |
备注
使用 glInterleavedArrays 函数,可以同时指定和启用多个交错的颜色、法线、纹理和顶点数组,这些数组的元素是较大聚合数组元素的一部分。 对于某些内存体系结构,这比单独指定数组更有效。
如果 stride 参数为零,则聚合数组元素将连续存储;否则,在聚合数组元素之间发生 步幅 字节。
format 参数用作描述如何从聚合数组中提取单个数组的键:
- 如果 format 包含 T,则从交错数组中提取纹理坐标。
- 如果 C 存在,则提取颜色值。
- 如果存在 N,则提取法线坐标。
- 始终提取顶点坐标。
- 数字 2、3 和 4 表示提取的值数。
- F 指示将值提取为浮点值。
- 如果 4UB 遵循 C,则颜色也可以提取为 4 个无符号字节。 如果将颜色提取为 4 个无符号字节,则后面的顶点数组元素位于第一个可能的浮点对齐地址处。
如果在编译显示列表时调用 glInterleavedArrays ,则不会将其编译到列表中,而是立即执行。
在对 glBegin 的调用和对 glEnd 的相应调用之间,不能在 glDisableClientState 中包含对 glInterleavedArrays 的调用。
注意
glInterleavedArrays 函数仅在 OpenGL 版本 1.1 或更高版本中可用。
glInterleavedArrays 函数在没有协议的客户端上实现。 由于顶点数组参数是客户端状态,因此 glPushAttrib 和 glPopAttrib 不会保存或还原它们。 请改用 glPushClientAttrib 和 glPopClientAttrib 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|