WebGLRenderingContext: activeTexture() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

WebGLRenderingContext.activeTexture()WebGL API のメソッドで、どのテクスチャユニットをアクティブにするかを指定します。

構文

js
activeTexture(texture)

引数

texture

アクティブにするテクスチャユニット。値は gl.TEXTUREI で、 I は 0 から gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1 の範囲内です。

返値

なし (undefined)。

例外

texturegl.TEXTUREI の 1 つでない場合、すなわち 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);
// "33984" を返す(0x84C0、gl.TEXTURE0 列挙値)

仕様書

Specification
WebGL Specification
# 5.14.3

ブラウザーの互換性

BCD tables only load in the browser

関連情報