glDetachShader — Detaches a shader object from a program object to which it is attached
void glDetachShader( | GLuint | program, | 
| GLuint | shader); | 
programSpecifies the program object from which to detach the shader object.
shaderSpecifies 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.
GL_INVALID_OPERATION is generated if
	glDetachShader is executed between the
	execution of
	glBegin
	and the corresponding execution of
	glEnd.
glGetAttachedShaders with the handle of a valid program object
glGetShader
	with arguments shader and
	GL_DELETE_STATUS
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/.