glDeleteShader
Name
glDeleteShader Deletes a shader object
C Specification
void glDeleteShader(GLuint shader)
Parameters
shader | Specifies the shader object to be deleted. |
Description
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 is flagged for deletion but is not 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 can be deleted). A value of 0 for shader is silently ignored.
To determine whether an object has been flagged for deletion, call glGetShader with arguments shader and GL_DELETE_STATUS.
Notes
glDeleteShader is available only if the GL version is 2.0 or greater.
Errors
GL_INVALID_VALUE is generated if shader is not a value generated by OpenGL.
GL_INVALID_OPERATION is generated if glDeleteShader is executed between the execution of glBegin and the corresponding execution of glEnd.
Associated Gets
glGetAttachedShaders with the program object to be queried
glGetShader with arguments shader and GL_DELETE_STATUS
glIsShader
See Also
glCreateProgram, glCreateShader, glDetachShader, glUseProgram
|