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 2015年7月.
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> |
ブラウザーの互換性
Loading…