Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 2 of 2

Thread: Can Indirect Buffer be held in VAO?

  1. #1
    Newbie Newbie
    Join Date
    Sep 2014
    Posts
    2

    Can Indirect Buffer be held in VAO?

    I following the OpenGL Super Bible and just got to the section on indirect buffers. Can these be stored in the vao?

    If I generate and bind a buffer to GL_ELEMENT_ARRAY_BUFFER the draw command glDrawElements will properly use it when the vao is rebound. However if I generate and bind a buffer to GL_DRAW_INDIRECT_BUFFER the command glDrawElementsIndirect will not use my indirect buffer when the vao is bound again. I must manually bind it again using glBindBuffer. Is this normal?

  2. #2
    Senior Member OpenGL Guru Dark Photon's Avatar
    Join Date
    Oct 2004
    Location
    Druidia
    Posts
    4,475
    Quote Originally Posted by Lehm2000 View Post
    ...indirect buffers. Can these be stored in the vao?
    No, the bindings for indirect buffers are not stored in a VAO.

    In the OpenGL Specification, search for "Vertex Array Object State". This will take you directly to a table that defines what bindings/settings are maintained by a VAO: Basically the bindings/enables/settings for vertex arrays and element index list.

    Immediately after that, there is a table "Vertex Array Data (not in Vertex Array objects)" which details some batch state which is "not" contained within a VAO. You'll notice that the DRAW_INDIRECT_BUFFER_BINDING is in this list.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •