--- title: WebGLRenderingContext.compileShader() slug: Web/API/WebGLRenderingContext/compileShader translation_of: Web/API/WebGLRenderingContext/compileShader --- <div>{{APIRef("WebGL")}}</div> <p><a href="/ja/docs/Web/API/WebGL_API">WebGL API</a> の <strong>WebGLRenderingContext.compileShader()</strong> メソッドは、GLSL シェーダーをバイナリへコンパイルします。これは {{domxref("WebGLProgram")}} に使用することができます。</p> <h2 id="構文">構文</h2> <pre class="syntaxbox">void <var><em>gl</em>.compileShader</var><var>(shader);</var> </pre> <h3 id="引数">引数</h3> <dl> <dt><code>shader</code></dt> <dd>フラグメントか頂点の {{domxref("WebGLShader")}}。</dd> </dl> <h2 id="例">例</h2> <pre class="brush: js">var shader = gl.createShader(gl.VERTEX_SHADER); gl.shaderSource(shader, shaderSource); gl.compileShader(shader); </pre> <h2 id="仕様策定状況">仕様策定状況</h2> <table class="standard-table" style="font-family: Arial,x-locale-body,sans-serif; font-size: 1rem; letter-spacing: -0.00278rem;"> <tbody> <tr> <th scope="col">仕様</th> <th scope="col">策定状況</th> <th scope="col">コメント</th> </tr> <tr> <td>{{SpecName('WebGL', "#5.14.9", "compileShader")}}</td> <td>{{Spec2('WebGL')}}</td> <td>初回定義。</td> </tr> <tr> <td>{{SpecName('OpenGL ES 2.0', "glCompileShader.xml", "glCompileShader")}}</td> <td>{{Spec2('OpenGL ES 2.0')}}</td> <td>OpenGL マニュアルページ。</td> </tr> </tbody> </table> <h2 id="ブラウザーの対応">ブラウザーの対応</h2> <p>{{Compat("api.WebGLRenderingContext.compileShader")}}</p> <h2 id="関連項目">関連項目</h2> <ul> <li>{{domxref("WebGLProgram")}}</li> <li>{{domxref("WebGLShader")}}</li> <li>{{domxref("WebGLRenderingContext.attachShader()")}}</li> <li>{{domxref("WebGLRenderingContext.createProgram()")}}</li> <li>{{domxref("WebGLRenderingContext.createShader()")}}</li> <li>{{domxref("WebGLRenderingContext.deleteProgram()")}}</li> <li>{{domxref("WebGLRenderingContext.deleteShader()")}}</li> <li>{{domxref("WebGLRenderingContext.detachShader()")}}</li> <li>{{domxref("WebGLRenderingContext.getAttachedShaders()")}}</li> <li>{{domxref("WebGLRenderingContext.getProgramParameter()")}}</li> <li>{{domxref("WebGLRenderingContext.getProgramInfoLog()")}}</li> <li>{{domxref("WebGLRenderingContext.getShaderParameter()")}}</li> <li>{{domxref("WebGLRenderingContext.getShaderPrecisionFormat()")}}</li> <li>{{domxref("WebGLRenderingContext.getShaderInfoLog()")}}</li> <li>{{domxref("WebGLRenderingContext.getShaderSource()")}}</li> <li>{{domxref("WebGLRenderingContext.isProgram()")}}</li> <li>{{domxref("WebGLRenderingContext.isShader()")}}</li> <li>{{domxref("WebGLRenderingContext.linkProgram()")}}</li> <li>{{domxref("WebGLRenderingContext.shaderSource()")}}</li> <li>{{domxref("WebGLRenderingContext.useProgram()")}}</li> <li>{{domxref("WebGLRenderingContext.validateProgram()")}}</li> </ul>