WebGLRenderingContext: attachShader() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

WebGLRenderingContext.attachShader()WebGL API のメソッドで、フラグメントか頂点のどちらかの WebGLShaderWebGLProgram にアタッチします。

構文

js
attachShader(program, shader)

引数

program

WebGLProgram

shader

フラグメントか頂点の WebGLShader

以下は既存のシェーダーを WebGLProgram にアタッチするコードです。

js
const program = gl.createProgram();

// 既に存在するシェーダーをアタッチ
gl.attachShader(program, vertexShader);
gl.attachShader(program, fragmentShader);

gl.linkProgram(program);

if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
  const info = gl.getProgramInfoLog(program);
  throw `WebGL プログラムをコンパイルできませんでした。 \n\n${info}`;
}

仕様書

Specification
WebGL Specification
# 5.14.9

ブラウザーの互換性

BCD tables only load in the browser

関連情報