WebGLRenderingContext: createProgram() 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.createProgram() method of the WebGL API creates and initializes a WebGLProgram object.

Syntax

js
createProgram()

Parameters

None.

Return value

A WebGLProgram object that is a combination of two compiled WebGLShaders 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

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 `Could not compile WebGL program. \n\n${info}`;
}

See WebGLShader for information on creating the vertexShader and fragmentShader in the above example.

Specifications

Specification
WebGL Specification
# 5.14.9

Browser compatibility

BCD tables only load in the browser

See also