WebGLRenderingContext.bindBuffer()
WebGL API の WebGLRenderingContext.bindBuffer()
メソッドは、与えられた WebGLBuffer
(en-US) をターゲットに結合します。
構文
void gl.bindBuffer(target, buffer);
引数
- target
-
結合する場所 (ターゲット) の
GLenum
(en-US) です。以下の値を与えることができます。gl.ARRAY_BUFFER
: 頂点の属性を含むバッファーで、頂点座標、テクスチャ座標データや、頂点色データのようなものです。gl.ELEMENT_ARRAY_BUFFER
: 要素の位置指定に使われるバッファーです。- WebGL 2 context (en-US) を使用している場合は、更に以下の値を利用することができます。
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
(en-US) です。
返り値
ありません。
例外
一つのターゲットにのみ WebGLBuffer
(en-US) を結合できます。バッファーを他のターゲットに結合しようとすると、INVALID_OPERATION
エラーをスローして現在のバッファ結合を同じままにします。
WebGLBuffer
(en-US) が deleteBuffer
(en-US) によって削除されるようにマークされると、(再び) 結合できなくなります。そうしようとしても INVALID_OPERATION
エラーが生成されて、現在の結合は変更されません。
例
バッファーをターゲットに結合
js
var canvas = document.getElementById("canvas");
var gl = canvas.getContext("webgl");
var buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
現在結合されているものの取得
現在のバッファー結合を確認するには、ARRAY_BUFFER_BINDING
や ELEMENT_ARRAY_BUFFER_BINDING
の定数で問い合わせます。
js
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