The WebGLRenderingContext.attachShader() method of the WebGL API attaches either a fragment or vertex WebGLShader
to a WebGLProgram
.
Syntax
void gl.attachShader(program, shader);
Parameters
program
- A
WebGLProgram
. shader
- A fragment or vertex
WebGLShader
.
Examples
The following code attaches pre-existing shaders to a 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;
}
Specifications
Specification | Status | Comment |
---|---|---|
WebGL 1.0 The definition of 'attachShader' in that specification. |
Recommendation | Initial definition. |
OpenGL ES 2.0 The definition of 'glAttachShader' in that specification. |
Standard | OpenGL man page. |
Browser compatibility
See also
WebGLProgram
WebGLShader
WebGLRenderingContext.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()
Document Tags and Contributors
Tags:
Contributors to this page:
fscholz,
TatumCreative
Last updated by:
fscholz,