WebGLRenderingContext: bindBuffer() メソッド
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.bindBuffer()
は WebGL API のメソッドで、指定された WebGLBuffer
をターゲットに結合します。
構文
bindBuffer(target, buffer)
引数
target
-
結合する場所 (ターゲット) の
GLenum
です。以下の値を指定することができます。gl.ARRAY_BUFFER
-
頂点の属性を含むバッファーで、頂点座標、テクスチャ座標データや、頂点色データのようなものです。
gl.ELEMENT_ARRAY_BUFFER
-
要素の位置指定に使われるバッファーです。
WebGL 2 のコンテキストを使用している場合は、更に以下の値を利用することができます。
gl.COPY_READ_BUFFER
-
バッファーオブジェクトを他へコピーするためのバッファーです。
gl.COPY_WRITE_BUFFER
-
バッファーオブジェクトを他へコピーするためのバッファーです。
gl.TRANSFORM_FEEDBACK_BUFFER
-
書き戻し操作を変換するバッファーです。
gl.UNIFORM_BUFFER
-
ユニフォームブロックの格納に使われるバッファーです。
gl.PIXEL_PACK_BUFFER
-
ピクセル移動操作に使われるバッファーです。
gl.PIXEL_UNPACK_BUFFER
-
ピクセル移動操作に使われるバッファーです。
- buffer
-
結合する
WebGLBuffer
です。
返値
なし (undefined
)。
例外
一つのターゲットにのみ WebGLBuffer
を結合できます。バッファーを他のターゲットに結合しようとすると、INVALID_OPERATION
エラーが発生して現在のバッファー結合をそのままにします。
WebGLBuffer
が deleteBuffer
によって削除されるようにマークされると、(再び)結合できなくなります。そうしようとしても INVALID_OPERATION
エラーが生成されて、現在の結合は変更されません。
例
バッファーをターゲットに結合
const canvas = document.getElementById("canvas");
const gl = canvas.getContext("webgl");
const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
現在結合されているものの取得
現在のバッファー結合を確認するには、ARRAY_BUFFER_BINDING
や ELEMENT_ARRAY_BUFFER_BINDING
の定数で問い合わせます。
gl.getParameter(gl.ARRAY_BUFFER_BINDING);
gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);
仕様書
Specification |
---|
WebGL Specification # 5.14.5 |
WebGL 2.0 Specification # 3.7.1 |
ブラウザーの互換性
BCD tables only load in the browser