--- title: WebGLRenderingContext.createProgram() slug: Web/API/WebGLRenderingContext/createProgram translation_of: Web/API/WebGLRenderingContext/createProgram ---
WebGL API の WebGLRenderingContext.createProgram() メソッドは、{{domxref("WebGLProgram")}} オブジェクトを作成、初期化します。
WebGLProgram gl.createProgram();
ありません。
{{domxref("WebGLProgram")}} オブジェクトは、2 つのコンパイルされた {{domxref("WebGLShader")}} の組み合わせで、頂点シェーダーとフラグメントシェーダー (どちらも GLSL で書かれる) で成り立ちます。そして、これらを使用可能なプログラムへとリンクします。
var program = gl.createProgram();
// Attach pre-existing shaders
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);
gl.linkProgram(program);
if ( !gl.getProgramParameter( program, gl.LINK_STATUS) ) {
var info = gl.getProgramInfoLog(program);
throw 'Could not compile WebGL program. \n\n' + info;
}
{{domxref("WebGLShader")}} を参照すると、上記サンプルの vertexShader と fragmentShader の作成についての情報が得られます。
| 仕様 | 策定状況 | コメント |
|---|---|---|
| {{SpecName('WebGL', "#5.14.9", "createProgram")}} | {{Spec2('WebGL')}} | 初回定義。 |
| {{SpecName('OpenGL ES 2.0', "glCreateProgram.xml", "glCreateProgram")}} | {{Spec2('OpenGL ES 2.0')}} |
OpenGL API (と同様の) マニュアルページ。 |
{{Compat("api.WebGLRenderingContext.createProgram")}}