Skip to main content
added 33 characters in body
Source Link
Nicol Bolas
  • 10.1k
  • 20
  • 28

No, you do not need to unbind the VBO's. VBO's are only added to the state of the VAO when that VAO is bound. So any previously bound VBO's will not alter the state of the VAO that you are going to bind. The state of a bound VAO can be changed with the following calls:

  • glEnableVertexAttribArrayglEnableVertexAttribArray
  • glDisableVertexAttribArrayglDisableVertexAttribArray
  • glVertexAttribPointerglVertexAttribPointer
  • glBindBufferglBindBuffer(GL_ELEMENT_ARRAY_BUFFER)

You can bind and unbind VBO's without a currently bound VAO and even share them amongst VAO's. The VBO is simply a pointer to a data container that can be used for multiple purposes.

No, you do not need to unbind the VBO's. VBO's are only added to the state of the VAO when that VAO is bound. So any previously bound VBO's will not alter the state of the VAO that you are going to bind. The state of a bound VAO can be changed with the following calls:

  • glEnableVertexAttribArray
  • glDisableVertexAttribArray
  • glVertexAttribPointer
  • glBindBuffer

You can bind and unbind VBO's without a currently bound VAO and even share them amongst VAO's. The VBO is simply a pointer to a data container that can be used for multiple purposes.

No, you do not need to unbind the VBO's. VBO's are only added to the state of the VAO when that VAO is bound. So any previously bound VBO's will not alter the state of the VAO that you are going to bind. The state of a bound VAO can be changed with the following calls:

  • glEnableVertexAttribArray
  • glDisableVertexAttribArray
  • glVertexAttribPointer
  • glBindBuffer(GL_ELEMENT_ARRAY_BUFFER)

You can bind and unbind VBO's without a currently bound VAO and even share them amongst VAO's. The VBO is simply a pointer to a data container that can be used for multiple purposes.

Source Link
Reynolds
  • 1.3k
  • 6
  • 15

No, you do not need to unbind the VBO's. VBO's are only added to the state of the VAO when that VAO is bound. So any previously bound VBO's will not alter the state of the VAO that you are going to bind. The state of a bound VAO can be changed with the following calls:

  • glEnableVertexAttribArray
  • glDisableVertexAttribArray
  • glVertexAttribPointer
  • glBindBuffer

You can bind and unbind VBO's without a currently bound VAO and even share them amongst VAO's. The VBO is simply a pointer to a data container that can be used for multiple purposes.