--- title: WebGLRenderingContext.bindBuffer() slug: Web/API/WebGLRenderingContext/bindBuffer translation_of: Web/API/WebGLRenderingContext/bindBuffer ---
WebGL API の WebGLRenderingContext.bindBuffer()
メソッドは、与えられた {{domxref("WebGLBuffer")}} をターゲットに結合します。
void gl.bindBuffer(target, buffer);
gl.ARRAY_BUFFER
: 頂点の属性を含むバッファーで、頂点座標、テクスチャ座標データや、頂点色データのようなものです。gl.ELEMENT_ARRAY_BUFFER
: 要素の位置指定に使われるバッファーです。gl.COPY_READ_BUFFER
: バッファーオブジェクトを他へコピーするためのバッファーです。gl.COPY_WRITE_BUFFER
: バッファーオブジェクトを他へコピーするためのバッファーです。gl.TRANSFORM_FEEDBACK_BUFFER
: 書き戻し操作を変換するバッファーです。gl.UNIFORM_BUFFER
: ユニフォームブロックの格納に使われるバッファーです。gl.PIXEL_PACK_BUFFER
: ピクセル移動操作に使われるバッファーです。gl.PIXEL_UNPACK_BUFFER
: ピクセル移動操作に使われるバッファーです。ありません。
一つのターゲットにのみ {{domxref("WebGLBuffer")}} を結合できます。バッファーを他のターゲットに結合しようとすると、INVALID_OPERATION
エラーをスローして現在のバッファ結合を同じままにします。
{{domxref("WebGLBuffer")}} が {{domxref("WebGLRenderingContext.deleteBuffer()", "deleteBuffer")}} によって削除されるようにマークされると、(再び) 結合できなくなります。そうしようとしても 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);
仕様 | 策定状況 | コメント |
---|---|---|
{{SpecName('WebGL', "#5.14.5", "bindBuffer")}} | {{Spec2('WebGL')}} | WebGL 初回定義。 |
{{SpecName('OpenGL ES 2.0', "glBindBuffer.xml", "glBindBuffer")}} | {{Spec2('OpenGL ES 2.0')}} | OpenGL ES 2 API (と同様な) マニュアルページ。 |
{{SpecName('WebGL2', "#3.7.1", "bindBuffer")}} | {{Spec2('WebGL2')}} |
WebGL 2 のために定義を更新。 以下の新しい |
{{SpecName('OpenGL ES 3.0', "glBindBuffer.xhtml", "glBindBuffer")}} | {{Spec2('OpenGL ES 3.0')}} | OpenGL ES 3 API (と同様な) マニュアルページ。 |
{{Compat("api.WebGLRenderingContext.bindBuffer")}}