この記事は翻訳作業中です。

WebGL API の WebGLRenderingContext.bindBuffer() メソッドは、与えられた WebGLBuffer をターゲットに結合します。

構文

void gl.bindBuffer(target, buffer);

引数

target
結合する場所 (ターゲット) の GLenum です。以下の値を与えることができます。
  • gl.ARRAY_BUFFER: 頂点の属性を含むバッファーで、頂点座標、テクスチャ座標データや、頂点色データのようなものです。
  • gl.ELEMENT_ARRAY_BUFFER: 要素の位置指定に使われるバッファーです。
  • WebGL 2 context を使用している場合は、更に以下の値を利用することができます。
    • 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 です。

返り値

ありません。

例外

一つのターゲットにのみ WebGLBuffer を結合できます。バッファーを他のターゲットに結合しようとすると、INVALID_OPERATION エラーをスローして現在のバッファ結合を同じままにします。

WebGLBufferdeleteBuffer によって削除されるようにマークされると、(再び) 結合できなくなります。そうしようとしても 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 のために定義を更新。

以下の新しい target バッファーを追加。
gl.COPY_READ_BUFFER,
gl.COPY_WRITE_BUFFER,
gl.TRANSFORM_FEEDBACK_BUFFER,
gl.UNIFORM_BUFFER,
gl.PIXEL_PACK_BUFFER,
gl.PIXEL_UNPACK_BUFFER

OpenGL ES 3.0
glBindBuffer の定義
標準 OpenGL ES 3 API (と同様な) マニュアルページ。

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
基本対応Chrome 完全対応 9Edge 完全対応 12Firefox 完全対応 4IE 完全対応 11Opera 完全対応 12Safari 完全対応 5.1WebView Android 完全対応 ありChrome Android 完全対応 25Edge Mobile 完全対応 ありFirefox Android 完全対応 ありOpera Android 完全対応 12Safari iOS 完全対応 8.1Samsung Internet Android 完全対応 あり
WebGL2Chrome 完全対応 56Edge 未対応 なしFirefox 完全対応 51IE 未対応 なしOpera 完全対応 43Safari 未対応 なしWebView Android 完全対応 58Chrome Android 完全対応 58Edge Mobile 未対応 なしFirefox Android 完全対応 51Opera Android 完全対応 43Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.0

凡例

完全対応  
完全対応
未対応  
未対応

関連項目

ドキュメントのタグと貢献者

このページの貢献者: mdnwebdocs-bot, MikuroXina
最終更新者: mdnwebdocs-bot,