glDeleteShader

3G

glDeleteShader

delete 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 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

glGetShaderiv

with arguments `shader` and `GL_DELETE_STATUS`.

## Errors

`GL_INVALID_VALUE` is generated if `shader` is not a value generated by OpenGL.

## Associated Gets

glGetAttachedShaders

with the program object to be queried

glGetShaderiv

with arguments `shader` and `GL_DELETE_STATUS`

glIsShader

## See Also

glCreateProgram

,

glCreateShader

,

glDetachShader

,

glUseProgram

## Copyright

Copyright 2003-2005 3Dlabs Inc. Ltd. 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/.