WebGLRenderingContext.detachShader()
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.
WebGL API 的WebGLRenderingContext.detachShader() 方法:从一个 WebGLProgram
中分离一个先前附加的片段或者顶点着色器(WebGLShader
).
Syntax
void gl.detachShader(program, shader);
Parameters
program
-
一个
WebGLProgram
对象。 shader
-
一个顶点或者片元着色器
WebGLShader
.
Specifications
Specification |
---|
WebGL Specification # 5.14.9 |
例子
使用 detachShader 方法分离一个顶点或片元着色器
//顶点着色器 var vertexShader = gl.createShader(gl.VERTEX_SHADER); gl.shaderSource(vertexShader, vertexSrc); gl.compileShader(vertexShader); //片元着色器 var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);//创建 WebGLShader。 gl.shaderSource(fragmentShader, fragmentSrc); //fragmentSrc 设置一个 WebGLShader 的源码。 gl.compileShader(fragmentShader); //WebGLProgram var program = gl.createProgram();//创建 WebGLProgram gl.attachShader(program, vertexShader); //往 WebGLProgram 添加一个片段或者顶点着色器。 gl.attachShader(program, fragmentShader); gl.linkProgram(program);//链接给入的 WebGLProgram 对象 gl.detachShader(program, vertexShader); //从一个 WebGLProgram 中分离一个先前附加的片段或者顶点着色器; gl.detachShader(program, fragmentShader); gl.deleteShader(vertexShader); gl.deleteShader(fragmentShader);
Browser compatibility
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
detachShader |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
The compatibility table on 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.
See also
WebGLProgram
WebGLShader
WebGLRenderingContext.attachShader()
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()