GLISTRANSFORMFEEDBAC(3G)

πŸŽ€ GLISTRANSFORMFEEDBAC(3G) πŸŽ€

okay bestie so this is a page from section 3G of the manual, and it's about one single tiny little function that answers one single tiny little question: is this a transform feedback object or not. that's it. that's the whole vibe. let's get into it πŸ’…


✨ NAME ✨

glIsTransformFeedback β€” determine if a name corresponds to a transform feedback object πŸ¦‹


πŸ’– C SPECIFICATION πŸ’–

GLboolean glIsTransformFeedback(GLuint id);

that's the whole signature, she's short and she knows it ✨


🌸 PARAMETERS 🌸

  • id β€” a value that may be the name of a transform feedback object. that's it, that's the whole parameter. may or may not be. we don't know yet. that's kind of the entire point of this function, bestie 🫢

πŸ”₯ DESCRIPTION πŸ”₯

so here's the tea, okay? glIsTransformFeedback returns GL_TRUE if id is currently the name of a transform feedback object. that's the slay case ✨

and here's where it gets a little brutal ngl β€” it returns GL_FALSE in a whole bunch of situations:

  • if id is zero (0), congrats, not a transform feedback object, GL_FALSE πŸ’€
  • if id isn't the name of a transform feedback object at all, also GL_FALSE
  • if an error occurs, still GL_FALSE, because apparently we're not doing error reporting today, we're just saying no πŸ™ˆ

and here's the sneaky little detail that lowkey trips everyone up: if id is a name that came out of glGenTransformFeedbacks(), but it has not yet been bound through a call to glBindTransformFeedback(), then that name is not a transform feedback object yet, and glIsTransformFeedback returns GL_FALSE. like, she exists as a name but she hasn't had her main character moment (the bind), so she doesn't count. iykyk 😭

so basically: generated β‰  valid. generated + bound = valid. periodt πŸ‘‘


πŸ‘‘ VERSION SUPPORT πŸ‘‘

the original page does a whole grid situation for this, and the grid has two row-label columns, "Function" and "Feature Name", sitting over a bunch of OpenGL version columns. we're doing it as a list because tables are not the vibe here, but every single column is preserved, no cap:

  • OpenGL 2.0 β€” - (nope, not supported)
  • OpenGL 2.1 β€” - (nope)
  • OpenGL 3.0 β€” - (nope)
  • OpenGL 3.1 β€” - (nope)
  • OpenGL 3.2 β€” - (nope)
  • OpenGL 3.3 β€” - (nope)
  • OpenGL 4.0 β€” βœ” (yesss, iconic, here she is)
  • OpenGL 4.1 β€” βœ” (slay)
  • OpenGL 4.2 β€” βœ” (slay)
  • OpenGL 4.3 β€” βœ” (slay)
  • OpenGL 4.4 β€” βœ” (slay)
  • OpenGL 4.5 β€” βœ” (slay)

so the function row is glIsTransformFeedback, and she's a 4.0 and up girlie. anything before 4.0? she literally does not exist there. adjust your expectations accordingly πŸ’…


🌈 SEE ALSO 🌈

  • glGenTransformFeedbacks()
  • glBindTransformFeedback()
  • glDeleteTransformFeedbacks()

(the full lifecycle besties β€” make her, bind her, destroy her πŸŽ€)


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 Β© 2010-2014 Khronos Group


okay that's the whole page, you're officially a transform feedback knower now, i'm so proud of you πŸ₯Ήβœ¨ this was rendered for you courtesy of [FIXME: source], dated 08/09/2021, and the manual page's own name is of course GLISTRANSFORMFEEDBAC(3G) β€” go forth and check your names before you bind them, mwah πŸ’–

πŸ“¦ where this page comes from