WebGLRenderingContext: activeTexture() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

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

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

瀏覽器相容性

另見