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: Do we have plural form "multibind" version of separation APIs?

  1. #1
    Intern Newbie
    Join Date
    May 2014
    Posts
    46

    Do we have plural form "multibind" version of separation APIs?

    The separation of attribute formats usually consists of the following three API calls:
    glBindVertexBuffer
    glVertexAttribFormat
    glVertexAttribBinding

    If we have multiple buffer objects that contain storage for various user-defined vertex attributes, we need to call the above API triples multiple times. Multibinding is introduced in recent versions of OpenGL allowing us to use plural form of the the first API -- glBindVertexBuffers -- to bind a group of buffer objects all at once to a series of targets. I then expect that there should be similar plural forms for other two attribute separation APIs, like glVertexAttribFormats and glVertexAttribsBinding. But I could not find them. glVertexArrayAttribFormat and glVertexArrayAttribBinding seems not for this "multibinding" purpose. So,

    1) Is there any plural form "multibinding" API for glVertexAttribFormat & glVertexAttribBinding available in the current OpenGL version?
    2) I'm surprised if not, but why not? because ARB assumes that multibinding separation is always used for data of the same format?

    Thanks.

  2. #2
    Senior Member OpenGL Lord
    Join Date
    May 2009
    Posts
    6,058
    The whole point of separating format from buffer bindings is that it means you don't have to modify the vertex format frequently. You're separating out the two states: frequently changing buffers from infrequently (ie: never) changing formats.

    If you want to change formats, just switch to a different VAO. That's basically how you should treat VAOs with this feature: as the holder for immutable vertex format data. That they also store buffer bindings should be thought off as an unfortunate accident, a quirk of the OpenGL API.

Posting Permissions

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