WebGLRenderingContext.attachShader()
WebGL API の WebGLRenderingContext.attachShader() メソッドは、フラグメントか頂点のどちらかの WebGLShader (en-US) を WebGLProgram (en-US) にアタッチします。
構文
void gl.attachShader(program, shader);
引数
programshader-
フラグメントか頂点の
WebGLShader(en-US)。
例
以下は既存のシェーダーを WebGLProgram (en-US) にアタッチするコードです。
js
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;
}
仕様策定状況
| Specification |
|---|
| WebGL Specification # 5.14.9 |
ブラウザーの対応
BCD tables only load in the browser
関連項目
WebGLProgram(en-US)WebGLShader(en-US)WebGLRenderingContext.attachShader()WebGLRenderingContext.compileShader()WebGLRenderingContext.createProgram()WebGLRenderingContext.createShader()WebGLRenderingContext.deleteProgram()(en-US)WebGLRenderingContext.deleteShader()(en-US)WebGLRenderingContext.detachShader()(en-US)WebGLRenderingContext.getAttachedShaders()(en-US)WebGLRenderingContext.getProgramParameter()(en-US)WebGLRenderingContext.getProgramInfoLog()(en-US)WebGLRenderingContext.getShaderParameter()(en-US)WebGLRenderingContext.getShaderPrecisionFormat()(en-US)WebGLRenderingContext.getShaderInfoLog()(en-US)WebGLRenderingContext.getShaderSource()(en-US)WebGLRenderingContext.isProgram()(en-US)WebGLRenderingContext.isShader()(en-US)WebGLRenderingContext.linkProgram()WebGLRenderingContext.shaderSource()WebGLRenderingContext.useProgram()WebGLRenderingContext.validateProgram()(en-US)