logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

glBindVertexBuffer, glVertexArrayVertexBuffer - bind a buffer to a vertex buffer bind point

Associated Gets

glGet() with argument GL_MAX_VERTEX_ATTRIB_BINDINGS.

C Specification

voidglBindVertexBuffer(GLuintbindingindex,GLuintbuffer,GLintptroffset,GLintptrstride);voidglVertexArrayVertexBuffer(GLuintvaobj,GLuintbindingindex,GLuintbuffer,GLintptroffset,GLsizeistride);

Description

glBindVertexBuffer and glVertexArrayVertexBuffer bind the buffer named buffer to the vertex buffer
       binding point whose index is given by bindingindex.  glBindVertexBuffer modifies the binding of the
       currently bound vertex array object, whereas glVertexArrayVertexBuffer allows the caller to specify ID of
       the vertex array object with an argument named vaobj, for which the binding should be modified.  offset
       and stride specify the offset of the first element within the buffer and the distance between elements
       within the buffer, respectively, and are both measured in basic machine units.  bindingindex must be less
       than the value of GL_MAX_VERTEX_ATTRIB_BINDINGS.  offset and stride must be greater than or equal to
       zero. If buffer is zero, then any buffer currently bound to the specified binding point is unbound.

       If buffer is not the name of an existing buffer object, the GL first creates a new state vector,
       initialized with a zero-sized memory buffer and comprising all the state and with the same initial values
       as in case of glBindBuffer.  buffer is then attached to the specified bindingindex of the vertex array
       object.

Errors

GL_INVALID_OPERATION is generated by glBindVertexBuffer if no vertex array object is bound.

       GL_INVALID_OPERATION is generated by glVertexArrayVertexBuffer if vaobj is not the name of an existing
       vertex array object.

       GL_INVALID_VALUE is generated if bindingindex is greater than or equal to the value of
       GL_MAX_VERTEX_ATTRIB_BINDINGS.

       GL_INVALID_VALUE is generated if offset or stride is less than zero, or if stride is greater than the
       value of GL_MAX_VERTEX_ATTRIB_STRIDE.

       GL_INVALID_VALUE is generated if buffer is not zero or the name of an existing buffer object (as returned
       by glGenBuffers or glCreateBuffers).

Name

       glBindVertexBuffer, glVertexArrayVertexBuffer - bind a buffer to a vertex buffer bind point

Parameters

vaobj
           Specifies the name of the vertex array object to be used by glVertexArrayVertexBuffer function.

       bindingindex
           The index of the vertex buffer binding point to which to bind the buffer.

       buffer
           The name of a buffer to bind to the vertex buffer binding point.

       offset
           The offset of the first element of the buffer.

       stride
           The distance between elements within the buffer.

See Also

glVertexAttribBinding(), glVertexAttribFormat(), glVertexAttribPointer(), glVertexBindingDivisor().

Version Support

       ┌───────────────────────────┬───────────────────────────────────────────────────────────────────────┐
       │                           │                OpenGLVersion                                         │
       ├───────────────────────────┼─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┤
       │ Function2.02.13.03.13.23.34.04.14.24.34.44.5 │
       │ /                         │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Feature                   │     │     │     │     │     │     │     │     │     │     │     │     │
       │ Name                      │     │     │     │     │     │     │     │     │     │     │     │     │
       ├───────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glBindVertexBuffer        │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │  ✔  │  ✔  │
       ├───────────────────────────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤
       │ glVertexArrayVertexBuffer │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  -  │  ✔  │
       └───────────────────────────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

See Also