WebGLRenderingContext: attachShader() 方法
基线 广泛可用
此功能已确立,并在许多设备和浏览器版本上都能正常运行。它自 2015 年 7 月.
WebGLRenderingContext.attachShader() 是 WebGL API 的一个方法,用于将片段或顶点 WebGLShader
附加到 WebGLProgram
。
语法
js
attachShader(program, shader)
参数
program
-
一个
WebGLProgram
。 shader
-
一个片段或顶点
WebGLShader
。
示例
以下代码将预先存在的着色器附加到 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 `Could not compile WebGL program. \n\n${info}`;
}
规范
规范 |
---|
WebGL 规范 # 5.14.9 |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。
另请参阅
WebGLProgram
WebGLShader
WebGLRenderingContext.compileShader()
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()