From OpenGL Reference
Jump to navigation Jump to search

Detaches a shader object from a program object to which it is attached.

C Specification[edit]

void glDetachShader( GLuint program, GLuint shader );


program - Specifies the program object from which to detach the shader object.
shader - Specifies the shader object to be detached.


 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.


 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 .

Associated Gets[edit]

 glGetAttachedShaders with the handle of a valid program object

 glGetShader with arguments shader and GL_DELETE_STATUS 



Version Support[edit]

 glDetachShader  2.0+

See Also[edit]



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.