GLDETACHSHADER(3G)

okay so bestie, welcome to GLDETACHSHADER(3G) β€” that's the 3G manual page, OpenGL edition, and we're about to make shader detachment make sense. πŸ’…

πŸ’– NAME πŸ’–

glDetachShader β€” detaches a shader object from a program object to which it is attached. it's giving "un-attach era", and honestly? iconic. ✨

✨ 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 πŸ¦‹

okay so 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().

and here's the cleanup tea β˜•: 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. no cap. πŸ’…

πŸ’€ ERRORS πŸ’€

these are the red flags 🚩 β€” all generated exactly like this:

  • 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
  • glIsProgram()
  • glIsShader()

🌈 VERSION SUPPORT 🌈

here's the version-support vibe check βœ… β€” the original table has Function / Feature Name on the side (that's glDetachShader) and OpenGL Version across the top: 2.0, 2.1, 3.0, 3.1, 3.2, 3.3, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5.

Function / Feature Name: glDetachShader. OpenGL Version: 2.0 βœ”, 2.1 βœ”, 3.0 βœ”, 3.1 βœ”, 3.2 βœ”, 3.3 βœ”, 4.0 βœ”, 4.1 βœ”, 4.2 βœ”, 4.3 βœ”, 4.4 βœ”, 4.5 βœ”.

all checkmarks, all the way through β€” the table ate and left no crumbs. πŸ’…

πŸ‘‘ SEE ALSO πŸ‘‘

  • glAttachShader() β€” the attach counterpart. the way these two are linked... iykyk. 🫢

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. http://opencontent.org/openpub/.

Copyright Β© 2003-2005 3Dlabs Inc. Ltd.
Copyright Β© 2010-2014 Khronos Group

that's the whole page, bestie 🫢 source/version: [FIXME: source]; date: 08/09/2021; manual: GLDETACHSHADER(3G). mwah πŸ’‹

πŸ“¦ where this page comes from