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