From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../webglrenderingcontext/bufferdata/index.html | 155 +++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 files/ja/web/api/webglrenderingcontext/bufferdata/index.html (limited to 'files/ja/web/api/webglrenderingcontext/bufferdata') diff --git a/files/ja/web/api/webglrenderingcontext/bufferdata/index.html b/files/ja/web/api/webglrenderingcontext/bufferdata/index.html new file mode 100644 index 0000000000..cd45cbdc5c --- /dev/null +++ b/files/ja/web/api/webglrenderingcontext/bufferdata/index.html @@ -0,0 +1,155 @@ +--- +title: WebGLRenderingContext.bufferData() +slug: Web/API/WebGLRenderingContext/bufferData +translation_of: Web/API/WebGLRenderingContext/bufferData +--- +
{{APIRef("WebGL")}}
+ +

WebGL API WebGLRenderingContext.bufferData() メソッドは、バッファーオブジェクトのデータストアを初期化、作成します。

+ +

構文

+ +
// WebGL1:
+void gl.bufferData(target, size, usage);
+void gl.bufferData(target, ArrayBuffer? srcData, usage);
+void gl.bufferData(target, ArrayBufferView srcData, usage);
+
+// WebGL2:
+void gl.bufferData(target, ArrayBufferView srcData, usage, srcOffset, length);
+
+ +

引数

+ +
+
target
+
結合する場所 (ターゲット) を指定する {{domxref("GLenum")}}。以下の値を取ることができます。 +
    +
  • gl.ARRAY_BUFFER: 頂点の属性を含むバッファーで、頂点座標、テクスチャ座標データや、頂点色データのようなものです。
  • +
  • gl.ELEMENT_ARRAY_BUFFER: 要素の位置指定に使用されるバッファーです。
  • +
  • {{domxref("WebGL2RenderingContext", "WebGL 2 context", "", 1)}} を使用している場合は、更にに以下の値を利用できます。 +
      +
    • gl.COPY_READ_BUFFER: バッファーオブジェクトを他へコピーするためのバッファーです。
    • +
    • gl.COPY_WRITE_BUFFER: バッファーオブジェクトを他へコピーするためのバッファーです。
    • +
    • gl.TRANSFORM_FEEDBACK_BUFFER: 書き戻し操作を変換するバッファーです。
    • +
    • gl.UNIFORM_BUFFER: ユニフォームブロックの格納に使われるバッファーです。
    • +
    • gl.PIXEL_PACK_BUFFER: ピクセル移動操作に使われるバッファーです。
    • +
    • gl.PIXEL_UNPACK_BUFFER: ピクセル移動操作に使われるバッファーです。
    • +
    +
  • +
+
+
size
+
{{domxref("GLsizeiptr")}} のバッファーオブジェクトのデータストアのサイズ。
+
srcData {{optional_inline}}
+
{{jsxref("ArrayBuffer")}}, {{jsxref("SharedArrayBuffer")}} か {{domxref("ArrayBufferView")}} の型付き配列型の一つで、データストアへ格納されます。null の場合、データストアは作成されますが、内容は初期化されず未定義です。
+
usage
+
データストアの用途を指定する {{domxref("GLenum")}}。以下の値を取ることができます。 +
    +
  • gl.STATIC_DRAW: バッファーの内容は、何度か使用されてあまり変更されません。バッファーへ書き込まれますが、読み出せません。
  • +
  • gl.DYNAMIC_DRAW: バッファーの内容は、よく使用されて何度か変更されます。バッファーへ書き込まれますが、読み出せません。
  • +
  • gl.STREAM_DRAW: バッファーの内容は、よく使用され変更されます。バッファーへ書き込まれますが、読み出せません。
  • +
  • {{domxref("WebGL2RenderingContext", "WebGL 2 context", "", 1)}} を使用している場合、さらに以下の値を取ることができます。 +
      +
    • gl.STATIC_READ: バッファーの内容は、何度か使用されてあまり変更されません。バッファーから読み出されますが、書き込めません。
    • +
    • gl.DYNAMIC_READ: バッファーの内容は、よく使用されて何度か変更されます。バッファーから読み出されますが、書き込めません。
    • +
    • gl.STREAM_READ: バッファーの内容は、よく使用され変更されます。バッファーから読み出されますが、書き込めません。
    • +
    • gl.STATIC_COPY: バッファーの内容は、何度か使用されてあまり変更されません。ユーザーによる書き込みや読み出しはできません。
    • +
    • gl.DYNAMIC_COPY: バッファーの内容は、よく使用されて何度か変更されます。ユーザーによる書き込みや読み出しはできません。
    • +
    • gl.STREAM_COPY: バッファーの内容は、よく使用され変更されます。ユーザーによる書き込みや読み出しはできません。
    • +
    +
  • +
+
+
srcOffset
+
バッファー読み出しを開始する要素の位置のオフセットを指定する {{domxref("GLuint")}}。
+
length {{optional_inline}}
+
{{domxref("GLuint")}}。既定値は 0 です。
+
+ +

返り値

+ +

ありません。

+ +

例外

+ + + +

+ +

bufferData の使用

+ +
var canvas = document.getElementById('canvas');
+var gl = canvas.getContext('webgl');
+var buffer = gl.createBuffer();
+gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
+gl.bufferData(gl.ARRAY_BUFFER, 1024, gl.STATIC_DRAW);
+
+ +

バッファー情報の取得

+ +

現在のバッファーの用途やサイズを確認するには、{{domxref("WebGLRenderingContext.getBufferParameter()")}} メソッドを使用します。

+ +
gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE);
+gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE);
+
+ +

仕様策定状況

+ + + + + + + + + + + + + + + + + + + + + + + + +
仕様策定状況コメント
{{SpecName('WebGL', "#5.14.5", "bufferData")}}{{Spec2('WebGL')}}初回定義。
{{SpecName('OpenGL ES 2.0', "glBufferData.xml", "glBufferData")}}{{Spec2('OpenGL ES 2.0')}}OpenGL API のマニュアルページ。
{{SpecName('OpenGL ES 3.0', "glBufferData.xhtml", "glBufferData")}}{{Spec2('OpenGL ES 3.0')}}OpenGL ES 3 API (と同様の) マニュアルページ。
+
+ 以下の新しい target バッファーを追加。
+ gl.COPY_READ_BUFFER,
+ gl.COPY_WRITE_BUFFER,
+ gl.TRANSFORM_FEEDBACK_BUFFER,
+ gl.UNIFORM_BUFFER,
+ gl.PIXEL_PACK_BUFFER,
+ gl.PIXEL_UNPACK_BUFFER
+
+ 以下の新しい usage ヒントを追加。
+ gl.STATIC_READ,
+ gl.DYNAMIC_READ,
+ gl.STREAM_READ,
+ gl.STATIC_COPY,
+ gl.DYNAMIC_COPY,
+ gl.STREAM_COPY.
+ +

ブラウザーの対応

+ + + +

{{Compat("api.WebGLRenderingContext.bufferData")}}

+ +

関連項目

+ + -- cgit v1.2.3-54-g00ecf