WebGLRenderingContext.attachShader()

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

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
attachShaderChrome Full support 9Edge Full support 12Firefox Full support 4IE Full support 11Opera Full support 12Safari Full support 5.1WebView Android Full support YesChrome Android Full support 25Firefox Android Full support YesOpera Android Full support 12Safari iOS Full support 8Samsung Internet Android Full support 1.5

Legend

Full support
Full support

See also