aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/webglrenderingcontext/index.html
blob: 773f0aea68037ca98415f61d4263837fc0dd5df8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
---
title: WebGLRenderingContext
slug: Web/API/WebGLRenderingContext
tags:
  - WebGL
  - WebGLRenderingContext
translation_of: Web/API/WebGLRenderingContext
---
<div>{{APIRef("WebGL")}}</div>

<p><code><strong>WebGLRenderingContext</strong></code> インターフェースは {{HTMLElement("canvas")}} 要素の描画サーフェスのためのOpenGL ES 2.0のレンダリングコンテキストを提供します。</p>

<p>このインターフェースを取得するためには、<code>&lt;canvas&gt;</code> 要素の {{domxref("HTMLCanvasElement.getContext()", "getContext()")}} を "webgl" の引数を与えて呼び出します:</p>

<pre class="brush: js">var canvas = document.getElementById('myCanvas');
var gl = canvas.getContext('webgl');
</pre>

<p>一度キャンバスのWebGLレンダリングコンテキストを取得すれば、その中でレンダリングができます。</p>

<p><a href="/ja/docs/Web/API/WebGL_API/Tutorial" title="WebGL tutorial">WebGL tutorial</a> には、WebGLを始めるためのより多くの情報、サンプル、資料があります。</p>

<h2 id="定数">定数</h2>

<p><a href="/ja/docs/Web/API/WebGL_API/Constants">WebGL constants</a> ページを参照してください。</p>

<h2 id="WebGL_コンテキスト">WebGL コンテキスト</h2>

<p>次のプロパティやメソッドはWebGLコンテキストを扱うための一般的な情報や機能を提供します:</p>

<dl>
 <dt>{{domxref("WebGLRenderingContext.canvas")}}</dt>
 <dd>読み取り専用の {{domxref("HTMLCanvasElement")}} への後方参照です。{{HTMLElement("canvas")}} 要素と関連付けられていない場合は {{jsxref("null")}} を返すことがあります。</dd>
 <dt>{{domxref("WebGLRenderingContext.commit()")}} {{experimental_inline}}</dt>
 <dd>
 <p>コンテキストが直接指定されたキャンバスに固定されていない場合、フレームを元の {{domxref("HTMLCanvasElement")}} にプッシュします。</p>
 </dd>
 <dt>{{domxref("WebGLRenderingContext.drawingBufferWidth")}}</dt>
 <dd>読み取り専用の現在の描画バッファの幅です。コンテキストが関連付けされたcanvas要素の幅と一致しているといえます。</dd>
 <dt>{{domxref("WebGLRenderingContext.drawingBufferHeight")}}</dt>
 <dd>読み取り専用の現在の描画バッファの高さです。コンテキストが関連付けされたcanvas要素の高さと一致しているといえます。</dd>
 <dt>{{domxref("WebGLRenderingContext.getContextAttributes()")}}</dt>
 <dd>実際のコンテキストパラメータを含む <code>WebGLContextAttributes</code> オブジェクトを返します。コンテキストが失われていた場合は {{jsxref("null")}} を返すことがあります。</dd>
 <dt>{{domxref("WebGLRenderingContext.isContextLost()")}}</dt>
 <dd>コンテキストが失われている場合は <code>true</code> を返し、そうでない場合は <code>false</code> を返します。</dd>
</dl>

<h2 id="ビューイングとクリッピング">ビューイングとクリッピング</h2>

<dl>
 <dt>{{domxref("WebGLRenderingContext.scissor()")}}</dt>
 <dd>シザーボックスを定義します。</dd>
 <dt>{{domxref("WebGLRenderingContext.viewport()")}}</dt>
 <dd>ビューポートをセットします。</dd>
</dl>

<h2 id="ステート情報">ステート情報</h2>

<dl>
 <dt>{{domxref("WebGLRenderingContext.activeTexture()")}}</dt>
 <dd>アクティブなテクスチャユニットを選択します。</dd>
 <dt>{{domxref("WebGLRenderingContext.blendColor()")}}</dt>
 <dd>ブレンド元とブレンド先のブレンドファクターをセットします。</dd>
 <dt>{{domxref("WebGLRenderingContext.blendEquation()")}}</dt>
 <dd>RGBのブレンド式とアルファのブレンド式をひとつの式にセットします。</dd>
 <dt>{{domxref("WebGLRenderingContext.blendEquationSeparate()")}}</dt>
 <dd>RGBのブレンド式とアルファのブレンド式を分けて式にセットします。</dd>
 <dt>{{domxref("WebGLRenderingContext.blendFunc()")}}</dt>
 <dd>どの関数がピクセルのブレンド演算に使用されるかを定義します。</dd>
 <dt>{{domxref("WebGLRenderingContext.blendFuncSeparate()")}}</dt>
 <dd>どの関数がピクセルのブレンド演算に使用されるかをRGBとアルファ要素を個別に定義します。</dd>
 <dt>{{domxref("WebGLRenderingContext.clearColor()")}}</dt>
 <dd>カラーバッファをクリアする時に使われる色を指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.clearDepth()")}}</dt>
 <dd>深度バッファをクリアする時に使用する深度値を指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.clearStencil()")}}</dt>
 <dd>ステンシルバッファをクリアする時に使用するステンシル値を指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.colorMask()")}}</dt>
 <dd>ドローイングまたは {{domxref("WebGLFramebuffer")}} へのレンダリングの際に、どの色要素を有効または無効にするかをセットします。</dd>
 <dt>{{domxref("WebGLRenderingContext.cullFace()")}}</dt>
 <dd>前面ポリゴンと後面ポリゴンのいずれか、または両方をカリングするかどうかを指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.depthFunc()")}}</dt>
 <dd>現在の深度バッファの深度値と書き込むピクセルの深度値を比較する関数を指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.depthMask()")}}</dt>
 <dd>深度バッファへの書き込みを有効にするか無効にするかどうかをセットします。</dd>
 <dt>{{domxref("WebGLRenderingContext.depthRange()")}}</dt>
 <dd>正規化デバイス座標系からウィンドウまたはビューポート座標系への深度レンジマッピングを指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.disable()")}}</dt>
 <dd>このコンテキストにおいて、指定したWebGL機能を無効にします。</dd>
 <dt>{{domxref("WebGLRenderingContext.enable()")}}</dt>
 <dd>このコンテキストにおいて、指定したWebGL機能を有効にします。</dd>
 <dt>{{domxref("WebGLRenderingContext.frontFace()")}}</dt>
 <dd>前面ポリゴンなのか後面ポリゴンなのかを周る方向によって指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getParameter()")}}</dt>
 <dd>渡されたパラメータ名の値を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getError()")}}</dt>
 <dd>エラー情報を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.hint()")}}</dt>
 <dd>一定の振る舞いについてのヒントを指定します。このヒントの振る舞いは実装に依存します。</dd>
 <dt>{{domxref("WebGLRenderingContext.isEnabled()")}}</dt>
 <dd>このコンテキストで指定されたWebGL機能が有効であるか無効であるかをテストします。</dd>
 <dt>{{domxref("WebGLRenderingContext.lineWidth()")}}</dt>
 <dd>ラスタライズする線の幅をセットします。</dd>
 <dt>{{domxref("WebGLRenderingContext.pixelStorei()")}}</dt>
 <dd>ピクセルストレージモードを指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.polygonOffset()")}}</dt>
 <dd>Specifies the scale factors and units to calculate depth values.</dd>
 <dt>{{domxref("WebGLRenderingContext.sampleCoverage()")}}</dt>
 <dd>アンチエイリアシングエフェクトのためのマルチサンプルカバレッジパラメータを指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.stencilFunc()")}}</dt>
 <dd>ステンシルテストための関数と参照値を、前面と後面の両面をセットします。</dd>
 <dt>{{domxref("WebGLRenderingContext.stencilFuncSeparate()")}}</dt>
 <dd>ステンシルテストための関数と参照値を、前面と後面の両面、またはいずれかをセットします。</dd>
 <dt>{{domxref("WebGLRenderingContext.stencilMask()")}}</dt>
 <dd>ステンシル平面の個々のビットの書き込みの有効と無効を、前面と後面の両面を操作します。</dd>
 <dt>{{domxref("WebGLRenderingContext.stencilMaskSeparate()")}}</dt>
 <dd>ステンシル平面の個々のビットの書き込みの有効と無効を、前面と後面のいずれか、または両面を操作します。</dd>
 <dt>{{domxref("WebGLRenderingContext.stencilOp()")}}</dt>
 <dd>前面と後面のステンシルテストの振る舞いを同時にセットします。</dd>
 <dt>{{domxref("WebGLRenderingContext.stencilOpSeparate()")}}</dt>
 <dd>前面と後面のステンシルテストの振る舞いをセットします。</dd>
</dl>

<h2 id="バッファ">バッファ</h2>

<dl>
 <dt>{{domxref("WebGLRenderingContext.bindBuffer()")}}</dt>
 <dd><code>WebGLBuffer</code> オブジェクトを与えられたターゲットにバインドします。</dd>
 <dt>{{domxref("WebGLRenderingContext.bufferData()")}}</dt>
 <dd>バッファデータを更新します。</dd>
 <dt>{{domxref("WebGLRenderingContext.bufferSubData()")}}</dt>
 <dd>バッファデータを与えられたオフセットから更新します。</dd>
 <dt>{{domxref("WebGLRenderingContext.createBuffer()")}}</dt>
 <dd><code>WebGLBuffer</code> オブジェクトを作成します。</dd>
 <dt>{{domxref("WebGLRenderingContext.deleteBuffer()")}}</dt>
 <dd><code>WebGLBuffer</code> オブジェクトを削除します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getBufferParameter()")}}</dt>
 <dd>バッファについての情報を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.isBuffer()")}}</dt>
 <dd>与えられたバッファが有効であるかのブール値を返します。</dd>
</dl>

<h2 id="フレームバッファ">フレームバッファ</h2>

<dl>
 <dt>{{domxref("WebGLRenderingContext.bindFramebuffer()")}}</dt>
 <dd><code>WebGLFrameBuffer</code> オブジェクトを与えられたターゲットにバインドします。</dd>
 <dt>{{domxref("WebGLRenderingContext.checkFramebufferStatus()")}}</dt>
 <dd>フレームバッファのステータスを返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.createFramebuffer()")}}</dt>
 <dd><code>WebGLFrameBuffer</code> オブジェクトを作成します。</dd>
 <dt>{{domxref("WebGLRenderingContext.deleteFramebuffer()")}}</dt>
 <dd><code>WebGLFrameBuffer</code> オブジェクトを削除します。</dd>
 <dt>{{domxref("WebGLRenderingContext.framebufferRenderbuffer()")}}</dt>
 <dd><code>WebGLRenderingBuffer</code> オブジェクトを <code>WebGLFrameBuffer</code> オブジェクトにアタッチします。</dd>
 <dt>{{domxref("WebGLRenderingContext.framebufferTexture2D()")}}</dt>
 <dd>テクスチャ画像を <code>WebGLFrameBuffer</code> オブジェクトにアタッチします。</dd>
 <dt>{{domxref("WebGLRenderingContext.getFramebufferAttachmentParameter()")}}</dt>
 <dd>フレームバッファについての情報を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.isFramebuffer()")}}</dt>
 <dd>渡された <code>WebGLFrameBuffer</code> オブジェクトが有効かどうかを表すブール値を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.readPixels()")}}</dt>
 <dd><code>WebGLFrameBuffer</code> からピクセルブロックを読み取ります。</dd>
</dl>

<h2 id="レンダーバッファ">レンダーバッファ</h2>

<dl>
 <dt>{{domxref("WebGLRenderingContext.bindRenderbuffer()")}}</dt>
 <dd>与えられたターゲットに <code>WebGLRenderBuffer</code> オブジェクトをバインドします。</dd>
 <dt>{{domxref("WebGLRenderingContext.createRenderbuffer()")}}</dt>
 <dd><code>WebGLRenderBuffer</code> オブジェクトを作成します。</dd>
 <dt>{{domxref("WebGLRenderingContext.deleteRenderbuffer()")}}</dt>
 <dd><code>WebGLRenderBuffer</code> オブジェクトを削除します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getRenderbufferParameter()")}}</dt>
 <dd>レンダーバッファについての情報を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.isRenderbuffer()")}}</dt>
 <dd>渡された <code>WebGLRenderingBuffer</code> が有効かどうかを表すブール値を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.renderbufferStorage()")}}</dt>
 <dd>レンダーバッファデータストアを作成します。</dd>
</dl>

<h2 id="テクスチャ">テクスチャ</h2>

<dl>
 <dt>{{domxref("WebGLRenderingContext.bindTexture()")}}</dt>
 <dd>与えられたターゲットに <code>WebGLTexture</code> オブジェクトをバインドします。</dd>
 <dt>{{domxref("WebGLRenderingContext.compressedTexImage2D()")}}</dt>
 <dd>2Dテクスチャ画像を圧縮フォーマットで指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.compressedTexSubImage2D()")}}</dt>
 <dd>2Dテクスチャ部分画像を圧縮フォーマットで指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.copyTexImage2D()")}}</dt>
 <dd>2Dテクスチャ画像をコピーします。</dd>
 <dt>{{domxref("WebGLRenderingContext.copyTexSubImage2D()")}}</dt>
 <dd>2Dテクスチャ部分画像をコピーします。</dd>
 <dt>{{domxref("WebGLRenderingContext.createTexture()")}}</dt>
 <dd><code>WebGLTexture</code> オブジェクトを作成します。</dd>
 <dt>{{domxref("WebGLRenderingContext.deleteTexture()")}}</dt>
 <dd><code>WebGLTexture</code> オブジェクトを削除します。</dd>
 <dt>{{domxref("WebGLRenderingContext.generateMipmap()")}}</dt>
 <dd><code>WebGLTexture</code> オブジェクトに対してミップマップ集合を生成します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getTexParameter()")}}</dt>
 <dd>テクスチャに対しての情報を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.isTexture()")}}</dt>
 <dd>渡された <code>WebGLTexture</code> が有効かどうかを表すブール値を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.texImage2D()")}}</dt>
 <dd>2Dテクスチャ画像を指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.texSubImage2D()")}}</dt>
 <dd>現在の <code>WebGLTexture</code> の部分矩形を更新します。</dd>
 <dt>{{domxref("WebGLRenderingContext.texParameter", "WebGLRenderingContext.texParameterf()")}}</dt>
 <dd>テクスチャパラメータをセットします。</dd>
 <dt>{{domxref("WebGLRenderingContext.texParameter", "WebGLRenderingContext.texParameteri()")}}</dt>
 <dd>テクスチャパラメータをセットします。</dd>
</dl>

<h2 id="プログラムとシェーダ">プログラムとシェーダ</h2>

<dl>
 <dt>{{domxref("WebGLRenderingContext.attachShader()")}}</dt>
 <dd><code>WebGLShader</code> を <code>WebGLProgram</code> にアタッチします。</dd>
 <dt>{{domxref("WebGLRenderingContext.bindAttribLocation()")}}</dt>
 <dd>汎用頂点インデックスを名前付き属性変数にバインドします。</dd>
 <dt>{{domxref("WebGLRenderingContext.compileShader()")}}</dt>
 <dd><code>WebGLShader</code> をコンパイルします。</dd>
 <dt>{{domxref("WebGLRenderingContext.createProgram()")}}</dt>
 <dd><code>WebGLProgram</code> を作成します。</dd>
 <dt>{{domxref("WebGLRenderingContext.createShader()")}}</dt>
 <dd><code>WebGLShader</code> を作成します。</dd>
 <dt>{{domxref("WebGLRenderingContext.deleteProgram()")}}</dt>
 <dd><code>WebGLProgram</code> を削除します。</dd>
 <dt>{{domxref("WebGLRenderingContext.deleteShader()")}}</dt>
 <dd><code>WebGLShader</code> を削除します。</dd>
 <dt>{{domxref("WebGLRenderingContext.detachShader()")}}</dt>
 <dd><code>WebGLShader</code> をでタッチします。</dd>
 <dt>{{domxref("WebGLRenderingContext.getAttachedShaders()")}}</dt>
 <dd><code>WebGLProgram</code> にアタッチされた <code>WebGLShader</code> オブジェクトのリストを返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getProgramParameter()")}}</dt>
 <dd>プログラムについての情報を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getProgramInfoLog()")}}</dt>
 <dd><code>WebGLProgram</code> オブジェクトについての情報ログを返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getShaderParameter()")}}</dt>
 <dd>シェーダについての情報を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getShaderPrecisionFormat()")}}</dt>
 <dd>シェーダの数値フォーマットの精度について記述した <code>WebGLShaderPrecisionFormat</code> オブジェクトを返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getShaderInfoLog()")}}</dt>
 <dd><code>WebGLShader</code> についての情報ログを返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getShaderSource()")}}</dt>
 <dd><code>WebGLShader</code> のソースコードを文字列として返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.isProgram()")}}</dt>
 <dd>渡された <code>WebGLProgram</code> 有効かを表すブール値を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.isShader()")}}</dt>
 <dd>渡された <code>WebGLShader</code> 有効かを表すブール値を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.linkProgram()")}}</dt>
 <dd>渡された <code>WebGLProgram</code> オブジェクトをリンクします。</dd>
 <dt>{{domxref("WebGLRenderingContext.shaderSource()")}}</dt>
 <dd><code>WebGLShader</code> にソースコードをセットします。</dd>
 <dt>{{domxref("WebGLRenderingContext.useProgram()")}}</dt>
 <dd>指定した <code>WebGLProgram</code> を現在のレンダリングステートの一部として使用します。</dd>
 <dt>{{domxref("WebGLRenderingContext.validateProgram()")}}</dt>
 <dd><code>WebGLProgram</code> を検証します。</dd>
</dl>

<h2 id="ユニフォームと属性">ユニフォームと属性</h2>

<dl>
 <dt>{{domxref("WebGLRenderingContext.disableVertexAttribArray()")}}</dt>
 <dd>与えられたポジションの頂点属性配列を無効にします。</dd>
 <dt>{{domxref("WebGLRenderingContext.enableVertexAttribArray()")}}</dt>
 <dd>与えられたポジションの頂点属性配列を有効にします。</dd>
 <dt>{{domxref("WebGLRenderingContext.getActiveAttrib()")}}</dt>
 <dd>有効な属性変数についての情報を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getActiveUniform()")}}</dt>
 <dd>有効なユニフォーム変数についての情報を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getAttribLocation()")}}</dt>
 <dd>属性変数のロケーションを返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getUniform()")}}</dt>
 <dd>与えられたロケーションのユニフォーム変数の値を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getUniformLocation()")}}</dt>
 <dd>ユニフォーム変数のロケーションを返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getVertexAttrib()")}}</dt>
 <dd>与えられたポジションの頂点属性についての情報を返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getVertexAttribOffset()")}}</dt>
 <dd>与えられた頂点配列のアドレスを返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.uniform()", "WebGLRenderingContext.uniform[1234][fi][v]()")}}</dt>
 <dd>ユニフォーム変数の値を指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.uniformMatrix()", "WebGLRenderingContext.uniformMatrix[234]fv()")}}</dt>
 <dd>ユニフォーム変数の行列を指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.vertexAttrib()", "WebGLRenderingContext.vertexAttrib[1234]f[v]()")}}</dt>
 <dd>汎用頂点属性の値を指定します。</dd>
 <dt>{{domxref("WebGLRenderingContext.vertexAttribPointer()")}}</dt>
 <dd>データフォーマットと頂点属性配列中の頂点属性のロケーションを指定します。</dd>
</dl>

<h2 id="バッファへの書き込み">バッファへの書き込み</h2>

<dl>
 <dt>{{domxref("WebGLRenderingContext.clear()")}}</dt>
 <dd>指定されたバッファを既定値でクリアします。</dd>
 <dt>{{domxref("WebGLRenderingContext.drawArrays()")}}</dt>
 <dd>プリミティブを配列データからレンダリングします。</dd>
 <dt>{{domxref("WebGLRenderingContext.drawElements()")}}</dt>
 <dd>プリミティブを要素配列データからレンダリングします。</dd>
 <dt>{{domxref("WebGLRenderingContext.finish()")}}</dt>
 <dd>以前に呼び出されたコマンドが終了するまで処理をブロックします。</dd>
 <dt>{{domxref("WebGLRenderingContext.flush()")}}</dt>
 <dd>可能な限り速くすべてのコマンドを実行し、バッファコマンドを空にします。</dd>
</dl>

<h2 id="拡張を使用する">拡張を使用する</h2>

<p>これらのメソッドはWebGL拡張を管理します:</p>

<dl>
 <dt>{{domxref("WebGLRenderingContext.getSupportedExtensions()")}}</dt>
 <dd>サポートしている全てのWebGL拡張を {{domxref("DOMString")}}{{jsxref("Array")}} で返します。</dd>
 <dt>{{domxref("WebGLRenderingContext.getExtension()")}}</dt>
 <dd>拡張オブジェクトを返します。</dd>
</dl>

<h2 id="例"></h2>

<h3 id="WebGL_コンテキストフィーチャーの検出">WebGL コンテキストフィーチャーの検出</h3>

<p>{{page("/ja/Learn/WebGL/By_example/Detect_WebGL", "summary")}}</p>

<p>{{page("/ja/Learn/WebGL/By_example/Detect_WebGL", "detect-webgl-source")}}</p>

<p>{{EmbedLiveSample("detect-webgl-source", 660,150 ,"" , "Learn/WebGL/By_example/Detect_WebGL")}}</p>

<h3 id="WebGLレンダリングにおけるキャンバスサイズの効果">WebGLレンダリングにおけるキャンバスサイズの効果</h3>

<p>{{page("/ja/Learn/WebGL/By_example/Canvas_size_and_WebGL", "canvas-size-and-webgl-intro")}}</p>

<p>{{page("/ja/Learn/WebGL/By_example/Canvas_size_and_WebGL", "canvas-size-and-webgl-source")}}</p>

<p>{{EmbedLiveSample("canvas-size-and-webgl-source", 660,180 ,"" , "Learn/WebGL/By_example/Canvas_size_and_WebGL")}}</p>

<h2 id="仕様">仕様</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">仕様</th>
   <th scope="col">ステータス</th>
   <th scope="col">コメント</th>
  </tr>
  <tr>
   <td>{{SpecName('WebGL', "#5.14", "WebGLRenderingContext")}}</td>
   <td>{{Spec2('WebGL')}}</td>
   <td>Initial definition</td>
  </tr>
 </tbody>
</table>

<h2 id="ブラウザ実装状況">ブラウザ実装状況</h2>

<p>{{Compat("api.WebGLRenderingContext")}}</p>

<h2 id="See_also">See also</h2>

<ul>
 <li>{{domxref("HTMLCanvasElement")}}</li>
</ul>