glDeleteShader — Deletes a shader object
void glDeleteShader(
|
GLuint shader) ; |
shader
Specifies the shader object to be deleted.
glDeleteShader
frees the memory and
invalidates the name associated with the shader object specified
by shader
. This command effectively
undoes the effects of a call to
glCreateShader.
If a shader object to be deleted is attached to a program
object, it will be flagged for deletion, but it will not be
deleted until it is no longer attached to any program object,
for any rendering context (i.e., it must be detached from
wherever it was attached before it will be deleted). A value of
0 for shader
will be silently
ignored.
To determine whether an object has been flagged for
deletion, call
glGetShader
with arguments shader
and
GL_DELETE_STATUS
.
GL_INVALID_VALUE
is generated if
shader
is not a value generated by
OpenGL.
glGetAttachedShaders with the program object to be queried
glGetShader
with arguments shader
and
GL_DELETE_STATUS
OpenGL Version | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glDeleteShader
|
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
glCreateProgram, glCreateShader, glDetachShader, glUseProgram
Copyright © 2003-2005 3Dlabs Inc. Ltd. Copyright © 2010-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.