glPrioritizeTextures 函数

glPrioritizeTextures 函数设置纹理的居住优先级。

语法

void WINAPI glPrioritizeTextures(
         GLsizei  n,
   const GLuint   *textures,
   const GLclampf *priorities
);

参数

n

要确定优先级的纹理数。

纹理

指向数组的第一个元素的指针,其中包含要设置优先级的纹理的名称。

优先 级

指向包含纹理优先级的数组的第一个元素的指针。 priorities 参数的元素中给定的优先级适用于由纹理参数的相应元素命名的纹理

返回值

此函数不返回值。

错误代码

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

名称 含义
GL_INVALID_VALUE
n 为负值。
GL_INVALID_OPERATION
函数是在 对 glBegin 的调用和对 glEnd 的相应调用之间调用的。

备注

glPrioritizeTextures 函数将 priorities 参数中指定的 n 个纹理优先级分配给 textures 参数中命名的 n 个纹理。 在纹理内存量有限的计算机上,OpenGL 会建立驻留在纹理内存中的纹理的“工作集”。 与非驻留纹理相比,这些纹理可以更有效地绑定到纹理目标。

通过为每个纹理指定优先级, glPrioritizeTextures 函数使您能够确定应驻留的纹理。

优先级 中的纹理 优先级元素在分配之前固定到 [0.0, 1.0] 范围。 零表示最低优先级;因此,优先级为零的纹理最不可能是驻留的。 值 1.0 表示最高优先级;因此,优先级为 1.0 的纹理最有可能是驻留的。 但是,在纹理绑定之前,不能保证纹理是驻留的。

glPrioritizeTextures 函数忽略纹理 0 或与现有纹理不对应的任何纹理名称的优先级尝试。 纹理 参数命名 的函数都不需要绑定到纹理目标。

如果纹理当前已绑定,则还可以使用 glTexParameter 函数设置其优先级。 这是设置默认纹理优先级的唯一方法。

可以在显示列表中包括 glPrioritizeTextures

以下函数检索与 glPrioritizeTextures 相关的当前绑定纹理的优先级:

注意

glPrioritizeTextures 函数仅在 OpenGL 版本 1.1 或更高版本中可用。

要求

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

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glAreTexturesResident

glBegin

glEnd

glGetTexParameter

glTexImage1D

glTexImage2D

glTexParameter