WebGLRenderingContext: attachShader() 方法

Baseline 已广泛支持

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

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

WebGLRenderingContext.attachShader() 方法是 WebGL API 的一部分,用于将一个片段着色器或顶点着色器 WebGLShader 附加到一个 WebGLProgram

语法

js
attachShader(program, shader)

参数

program

一个 WebGLProgram

shader

一个片段着色器或顶点着色器 WebGLShader

返回值

无(undefined)。

示例

以下代码将预先存在的着色器附加到一个 WebGLProgram

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}`);
}

规范

规范
WebGL 规范
# 5.14.9

浏览器兼容性

另见