OpenGL Vertex Array / Buffer Objekte

Frage 1

Werden Vertex-Pufferobjekte, die unter einer bestimmten VAO erstellt wurden, nach dem Löschen der VAO gelöscht?

Ein Beispiel:

glGenBuffers(1, &bufferObject);
glGenVertexArrays(1, &VAO);

glBindVertexArray(VAO);
glBindBuffer(GL_ARRAY_BUFFER, bufferObject);
glBufferData(GL_ARRAY_BUFFER, sizeof(someVertices), someVertices, 
             GL_STATIC_DRAW);
glEnableVertexAttribArray(positionAttrib);
glVertexAttribPointer(positionAttrib, 3, GL_FLOAT, GL_FALSE, 0, NULL);

Beim späteren AnrufenglDeleteVertexArrays(1, &VAO);, werdenbufferObject auch gelöscht werden?

Der Grund, den ich frage, ist, dass ich einige Beispiele über das Web gesehen habe, die diese Pufferobjekte nicht gelöscht haben.

Frage 2

Wie viel Speicher kann ich maximal für Pufferobjekte reservieren? Es muss natürlich systemabhängig sein, aber ich kann keine Schätzung dafür finden. Was passiert, wenn der Video-RAM nicht groß genug ist? Woher soll ich das wissen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage