名称
glDeleteShader - 删除一个着色器对象
C规范
void glDeleteShader(GLuint shader);
参数
shader
指定要删除的着色器对象。
描述
glDeleteShader释放内存并使与着色器指定的着色器对象关联的ID无效。 这个命令有效地撤消了对glCreateShader的调用的影响。
如果要删除的着色器对象附加到程序对象,它将被标记为删除,但它不会被删除,直到它不再附加到任何程序对象,对于任何渲染上下文(即,它必须与 它被附加之前的任何地方都将被删除)。shader为0将被忽视。
要确定对象是否已标记为删除,请使用参数shader和GL_DELETE_STATUS调用glGetShaderiv。
错误
GL_INVALID_VALUE:shader不是OpenGL生成的值。
相关Gets
glGetAttachedShaders 要查询的程序对象
glGetShaderiv 参数shader和GL_DELETE_STATUS
glIsShader
另见
glCreateProgram,glCreateShader,glDetachShader,glUseProgram
版权
https://www.khronos.org/registry/OpenGL-Refpages/es3.0/html/glDeleteShader.xhtml