Advertise on this site
Brought to you by the


Name

glDetachShader — Detaches a shader object from a program object to which it is attached

C Specification

void glDetachShader(GLuint  program,
 GLuint  shader);

Parameters

program

Specifies the program object from which to detach the shader object.

shader

Specifies the shader object to be detached.

Description

glDetachShader detaches the shader object specified by shader from the program object specified by program. This command can be used to undo the effect of the command glAttachShader.

If shader has already been flagged for deletion by a call to glDeleteShader and it is not attached to any other program object, it will be deleted after it has been detached.

Notes

glDetachShader is available only if the GL version is 2.0 or greater.

Errors

GL_INVALID_VALUE is generated if either program or shader is a value that was not generated by OpenGL.

GL_INVALID_OPERATION is generated if program is not a program object.

GL_INVALID_OPERATION is generated if shader is not a shader object.

GL_INVALID_OPERATION is generated if shader is not attached to program.

GL_INVALID_OPERATION is generated if glDetachShader is executed between the execution of glBegin and the corresponding execution of glEnd.

Associated Gets

glGetAttachedShaders with the handle of a valid program object

glGetShader with arguments shader and GL_DELETE_STATUS

glIsProgram

glIsShader

See Also

glAttachShader

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/.