WebGLRenderingContext: createProgram() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能在 Web Workers 中可用。

WebGLRenderingContext.createProgram() 方法是 WebGL API 的一部分,用于创建和初始化一个 WebGLProgram 对象。

语法

js
createProgram()

参数

无。

返回值

一个 WebGLProgram 对象是将两个已编译的 WebGLShader(一个顶点着色器和一个片段着色器,均使用 GLSL 编写)组合并链接成一个可用程序的结果。

示例

创建 WebGL 程序

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

有关上面示例中 vertexShaderfragmentShader 创建的信息,请参阅 WebGLShader

规范

规范
WebGL 规范
# 5.14.9

浏览器兼容性

另见