The WebGLRenderingContext.createProgram()
method of the WebGL API creates and initializes a WebGLProgram
object.
Syntax
WebGLProgram gl.createProgram();
Parameters
None.
Return value
A WebGLProgram
object that is a combination of two compiled WebGLShader
s consisting of a vertex shader and a fragment shader (both written in GLSL). These are then linked into a usable program..
Examples
Creating a WebGL program
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; }
See WebGLShader
for information on creating the vertexShader
and fragmentShader
in the above example.
Specifications
Specification | Status | Comment |
---|---|---|
WebGL 1.0 The definition of 'createProgram' in that specification. |
Recommendation | Initial definition. |
OpenGL ES 2.0 The definition of 'glCreateProgram' in that specification. |
Standard | Man page of the (similar) OpenGL API. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | 9 | 4.0 | 12 | 11 | 12 | 5.1 |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | 25 | (Yes) | (Yes) | 11 | 12 | 8.1 |