WebGLRenderingContext: attachShader() method
The WebGLRenderingContext.attachShader() method of the WebGL API attaches either a fragment or
vertex WebGLShader to a WebGLProgram.
Syntax
js
attachShader(program, shader)
Parameters
program-
A
WebGLProgram. shader-
A fragment or vertex
WebGLShader.
Examples
The following code attaches pre-existing shaders to a WebGLProgram.
js
const 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)) {
const info = gl.getProgramInfoLog(program);
throw `Could not compile WebGL program. \n\n${info}`;
}
Specifications
| Specification |
|---|
| WebGL Specification # 5.14.9 |
Browser compatibility
BCD tables only load in the browser
See also
WebGLProgramWebGLShaderWebGLRenderingContext.attachShader()WebGLRenderingContext.compileShader()WebGLRenderingContext.createProgram()WebGLRenderingContext.createShader()WebGLRenderingContext.deleteProgram()WebGLRenderingContext.deleteShader()WebGLRenderingContext.detachShader()WebGLRenderingContext.getAttachedShaders()WebGLRenderingContext.getProgramParameter()WebGLRenderingContext.getProgramInfoLog()WebGLRenderingContext.getShaderParameter()WebGLRenderingContext.getShaderPrecisionFormat()WebGLRenderingContext.getShaderInfoLog()WebGLRenderingContext.getShaderSource()WebGLRenderingContext.isProgram()WebGLRenderingContext.isShader()WebGLRenderingContext.linkProgram()WebGLRenderingContext.shaderSource()WebGLRenderingContext.useProgram()WebGLRenderingContext.validateProgram()