WebGLRenderingContext:bindTexture() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能在 Web Workers 中可用。

WebGLRenderingContext.bindTexture() 方法(属于 WebGL API)将给定的 WebGLTexture 对象绑定到指定的纹理目标(绑定点)。

语法

js
bindTexture(target, texture)

参数

目标

一个 GLenum,指定绑定点(目标)。可能的值

gl.TEXTURE_2D

二维纹理。

gl.TEXTURE_CUBE_MAP

立方体贴图纹理。

使用 WebGL 2 上下文时,还可以使用以下值:

gl.TEXTURE_3D

三维纹理。

gl.TEXTURE_2D_ARRAY

二维数组纹理。

texture

要绑定的 WebGLTexture 对象。如果传入 null,则会解除绑定指定目标上当前绑定的纹理。

返回值

无(undefined)。

异常

如果 target 不是 gl.TEXTURE_2Dgl.TEXTURE_CUBE_MAPgl.TEXTURE_3Dgl.TEXTURE_2D_ARRAY,则会抛出 gl.INVALID_ENUM 错误。

示例

绑定纹理

js
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const texture = gl.createTexture();

gl.bindTexture(gl.TEXTURE_2D, texture);

解绑纹理

js
// Unbind any texture currently bound to TEXTURE_2D
gl.bindTexture(gl.TEXTURE_2D, null);

获取当前绑定

要检查当前纹理绑定,请查询 gl.TEXTURE_BINDING_2Dgl.TEXTURE_BINDING_CUBE_MAP 常量。

js
gl.getParameter(gl.TEXTURE_BINDING_2D);

规范

规范
WebGL 规范
# 5.14.8
WebGL 2.0 规范
# 3.7.1

浏览器兼容性

另见