WebGLRenderingContext: attachShader() method
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.
Note: This feature is available in Web Workers.
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.
Return value
None (undefined).
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 new Error(`Could not compile WebGL program. \n\n${info}`); } Specifications
| Specification |
|---|
| WebGL Specification> # 5.14.9> |
Browser compatibility
See also
WebGLProgramWebGLShaderWebGLRenderingContext.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()