--- title: WebGLRenderingContext.createProgram() slug: Web/API/WebGLRenderingContext/createProgram translation_of: Web/API/WebGLRenderingContext/createProgram ---
{{APIRef("WebGL")}}

WebGL APIWebGLRenderingContext.createProgram() メソッドは、{{domxref("WebGLProgram")}} オブジェクトを作成、初期化します。

構文

WebGLProgram gl.createProgram();

引数

ありません。

返り値

{{domxref("WebGLProgram")}} オブジェクトは、2 つのコンパイルされた {{domxref("WebGLShader")}} の組み合わせで、頂点シェーダーとフラグメントシェーダー (どちらも GLSL で書かれる) で成り立ちます。そして、これらを使用可能なプログラムへとリンクします。

WebGL プログラムの作成

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")}}

関連項目