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
エラーが生成されて、現在の結合は変更されません。
例
バッファーをターゲットに結合
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
の定数で問い合わせます。
gl.getParameter(gl.ARRAY_BUFFER_BINDING);
gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);
仕様策定状況
仕様 | 策定状況 | コメント |
---|---|---|
WebGL 1.0 bindBuffer の定義 |
勧告 | WebGL 初回定義。 |
OpenGL ES 2.0 glBindBuffer の定義 |
標準 | OpenGL ES 2 API (と同様な) マニュアルページ。 |
WebGL 2.0 bindBuffer の定義 |
編集者草案 |
WebGL 2 のために定義を更新。 以下の新しい |
OpenGL ES 3.0 glBindBuffer の定義 |
標準 | OpenGL ES 3 API (と同様な) マニュアルページ。 |
ブラウザーの対応
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.