glBindTexture 函数
glBindTexture 函数支持创建绑定到纹理目标的命名纹理。
语法
void WINAPI glBindTexture(
GLenum target,
GLuint texture
);
参数
-
目标
-
纹理绑定到的目标。 必须具有值GL_TEXTURE_1D或GL_TEXTURE_2D。
-
纹理
-
纹理的名称;纹理名称当前无法使用。
返回值
此函数不返回值。
错误代码
glGetError 函数可以检索以下错误代码。
名称 | 含义 |
---|---|
|
参数 目标 不是接受的值。 |
|
参数 纹理 的维数与 目标不同,或者在对 glBegin 的调用和对 glEnd 的相应调用之间调用了 函数。 |
备注
使用 glBindTexture 函数可以创建命名纹理。 如果目标设置为 GL_TEXTURE_1D 或 GL_TEXTURE_2D,并且纹理设置为已创建的新纹理的名称,则调用 glBindTexture 会将纹理名称绑定到相应的纹理目标。 当纹理绑定到某个目标时,该目标的上一个绑定不再有效。
纹理名称是无符号整数,保留值 0 以表示每个纹理目标的默认纹理。 纹理名称和相应的纹理内容是当前 OpenGL 呈现上下文的共享显示列表空间的本地内容;仅当两个呈现上下文也共享显示列表时,它们才会共享纹理名称。 可以使用 glGenTextures 生成一组新的纹理名称。
首次绑定纹理时,它假定其纹理目标的维数;绑定到GL_TEXTURE_1D的纹理变为一维,绑定到GL_TEXTURE_2D的纹理变为二维。 对纹理目标执行的操作也会影响绑定到目标的纹理。 查询纹理目标时,返回值是绑定到它的纹理的状态。 纹理目标将成为当前绑定到它们的纹理的别名。
使用 glBindTexture 绑定纹理时,绑定将保持活动状态,直到将不同的纹理绑定到同一目标,或者使用 glDeleteTextures 函数删除绑定纹理。 创建命名纹理后,可以根据需要将其绑定到具有相同维度的纹理目标。
使用 glBindTexture 将现有命名纹理绑定到纹理目标之一通常比使用 glTexImage1D 或 glTexImage2D 重新加载纹理图像要快得多。 若要进一步控制纹理性能,请使用 glPrioritizeTextures。
可以在显示列表中包括对 glBindTexture 的 调用。
注意
glBindTexture 函数仅在 OpenGL 版本 1.1 或更高版本中可用。
以下函数检索与 glBindTexture 相关的信息:
- 带参数GL_TEXTURE_1D_BINDING的 glGet
带参数GL_TEXTURE_2D_BINDING的 glGet
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|