WebGLRenderingContext: activeTexture() 方法

基线 广泛可用

此功能已得到良好建立,并且可在许多设备和浏览器版本上运行。它自以下时间起在浏览器中可用: 2015 年 7 月.

WebGLRenderingContext.activeTexture() 方法是 WebGL API 的一部分,用于指定要激活的纹理单元。

语法

js
activeTexture(texture)

参数

texture

要激活的纹理单元。该值为 gl.TEXTUREI,其中 I 的范围为 0 到 gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1

返回值

无 (undefined).

异常

如果 texture 不是 gl.TEXTUREI 之一,其中 I 的范围为 0 到 gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1,则会抛出 gl.INVALID_ENUM 错误。

示例

以下调用选择 gl.TEXTURE1 作为当前纹理。随后修改纹理状态的调用将影响此纹理。

js
gl.activeTexture(gl.TEXTURE1);

纹理单元的数量取决于实现,您可以使用 MAX_COMBINED_TEXTURE_IMAGE_UNITS 常量获取此数量。根据规范,它至少为 8。

js
gl.getParameter(gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS);

要获取活动纹理,请查询 ACTIVE_TEXTURE 常量。

js
gl.activeTexture(gl.TEXTURE0);
gl.getParameter(gl.ACTIVE_TEXTURE);
// returns "33984" (0x84C0, gl.TEXTURE0 enum value)

规范

规范
WebGL 规范
# 5.14.3

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅