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

WebGL API の WebGLRenderingContext.attachShader() メソッドは、フラグメントか頂点のどちらかの {{domxref("WebGLShader")}} を {{domxref("WebGLProgram")}} にアタッチします。

構文

void gl.attachShader(program, shader);

引数

program
{{domxref("WebGLProgram")}}。
shader
フラグメントか頂点の {{domxref("WebGLShader")}}。

以下は既存のシェーダーを {{domxref("WebGLProgram")}} にアタッチするコードです。

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;
}

仕様策定状況

仕様 策定状況 コメント
{{SpecName('WebGL', "#5.14.9", "attachShader")}} {{Spec2('WebGL')}} 初回定義。
{{SpecName('OpenGL ES 2.0', "glAttachShader.xml", "glAttachShader")}} {{Spec2('OpenGL ES 2.0')}} OpenGL マニュアルページ。

ブラウザーの対応

{{Compat("api.WebGLRenderingContext.attachShader")}}

関連項目