The WebGLRenderingContext.compileShader() method of the WebGL API compiles a GLSL shader into binary data so that it can be used by a WebGLProgram.
Syntax
void gl.compileShader(shader);
Parameters
shader- A fragment or vertex
WebGLShader.
Examples
var shader = gl.createShader(gl.VERTEX_SHADER); gl.shaderSource(shader, shaderSource); gl.compileShader(shader);
Specifications
| Specification | Status | Comment |
|---|---|---|
| WebGL 1.0 The definition of 'compileShader' in that specification. |
Recommendation | Initial definition. |
| OpenGL ES 2.0 The definition of 'glCompileShader' in that specification. |
Standard | OpenGL man page. |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | 9 | 12 | 4.0 (2.0) | 11 | 12 | 5.1 |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | ? | 25 | (Yes) | ? | 12 | 8.1 |
See also
WebGLProgramWebGLShaderWebGLRenderingContext.attachShader()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()