Können OpenGL Vertex Buffer Bindungspunkte über verschiedene VAOs hinweg wiederverwendet werden?

Angenommen, ich habe zwei VAOs mit dem neuen glBindVertexBuffer-Mechanismus (ab OpenGL 4.3) eingerichtet:

glGenVertexArrays(1, &vaoIndex0);
glGenVertexArrays(1, &vaoIndex1);

...

glBindVertexArray(vaoIndex0)
glBindVertexBuffer(bindingIndex0, ...)
glEnableVertexAttribArray(0)
glVertexAttribFormat(0, ...)
glVertexAttribBinding(0, bindingIndex0)
...
glBindVertexArray(0)

...

glBindVertexArray(vaoIndex1)
glBindVertexBuffer(bindingIndex1, ...)
glEnableVertexAttribArray(0)
glVertexAttribFormat(0, ...)
glVertexAttribBinding(0, bindingIndex1)
...
glBindVertexArray(0)

Und nehmen an, die beiden sind unabhängig, sofern sie nicht im selben OpenGL-Kontext existieren. Sie binden verschiedene Puffer und werden verwendet, um verschiedene Dinge zu zeichnen.

Muss bindingIndex0 von bindingIndex1 verschieden sein? Hat die Gleichheit (oder Ungleichheit) der beiden Indizes überhaupt eine Bedeutung?

...

BEARBEITEN

Nachdem ich eine Antwort erhalten hatte, begann ich zu verstehen, dass meine Frage für jemanden, der tatsächlich weiß, was ein "Vertex Buffer Binding Point" ist und insbesondere welchen Umfang er hat, möglicherweise etwas anderes als das zu fragen scheint, was ich beabsichtigt hatte. Vielleicht wäre eine bessere Formulierung gewesen: "Muss man sich aus dem Weg räumen, um OpenGL Vertex Buffer Binding Point @ zu verhinder Indizes nicht wiederverwendet werden, auch nicht über mehrere VAOs hinweg, um Konflikte zu vermeiden? "Trotzdem scheinen beide Fragen jetzt beantwortet zu sein:" Nein, Sie können die "Bindungspunkte" nicht wiederverwenden, und Sie müssen es nicht. " Vermeiden Sie auf diese Weise Indexkonflikte.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage