GLAPI/glDetachShader: Difference between revisions
4.0 API. |
m Bot: Adding better formatting. |
||
(6 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
== Function Definition == | == Function Definition == | ||
void '''glDetachShader'''(GLuint | void '''glDetachShader'''(GLuint {{param|program}}, GLuint {{param|shader}}); | ||
; program | ; program | ||
Line 17: | Line 17: | ||
== Description == | == Description == | ||
'''glDetachShader''' detaches the shader object specified by | '''glDetachShader''' detaches the shader object specified by {{param|shader}} from the program object specified by {{param|program}}. This command can be used to undo the effect of the command {{apifunc|glAttachShader}}. | ||
If | If {{param|shader}} has already been flagged for deletion by a call to {{apifunc|glDeleteShader}} and it is not attached to any other program object, it will be deleted after it has been detached. | ||
== Errors == | == Errors == | ||
{{ | {{enum|GL_INVALID_VALUE}} is generated if either {{param|program}} or {{param|shader}} is a value that was not generated by OpenGL. | ||
{{ | {{enum|GL_INVALID_OPERATION}} is generated if {{param|program}} is not a program object. | ||
{{ | {{enum|GL_INVALID_OPERATION}} is generated if {{param|shader}} is not a shader object. | ||
{{ | {{enum|GL_INVALID_OPERATION}} is generated if {{param|shader}} is not attached to {{param|program}}. | ||
== Associated Gets == | == Associated Gets == | ||
{{apifunc|glGetAttachedShaders}} with the handle of a valid program object | |||
{{apifunc|glGetShader}} with arguments {{param|shader}} and {{enum|GL_DELETE_STATUS}} | |||
{{apifunc|glIsProgram}} | |||
{{apifunc|glIsShader}} | |||
== See Also == | == See Also == | ||
{{apifunc|glAttachShader}}, {{apifunc|glCreateShader}}, {{apifunc|glCreateProgram}}, {{apifunc|glLinkProgram}}, {{apifunc|glShaderSource}} | |||
== Copyright == | == Copyright == | ||
Line 49: | Line 49: | ||
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/ http://opencontent.org/openpub/]. | 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/ http://opencontent.org/openpub/]. | ||
[[Category:API Reference | [[Category:Core API Reference|DetachShader]] | ||
[[Category:Core API Ref Shader Program Creation|DetachShader]] | |||
[[Category:Program Object API State Functions|DetachShader]] |
Latest revision as of 09:57, 15 August 2013
Core in version | 4.6 | |
---|---|---|
Core since version | 2.0 |
glDetachShader: Detaches a shader object from a program object to which it is attached
Function Definition
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.
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.
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.
Associated Gets
glGetAttachedShaders with the handle of a valid program object
glGetShader with arguments shader and GL_DELETE_STATUS
See Also
glAttachShader, glCreateShader, glCreateProgram, glLinkProgram, glShaderSource
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/.