Objetos Array / Buffer de Vertex OpenGL

Questão 1

Os objetos do buffer de vértice criados sob um certo VAO são apagados assim que o VAO é apagado?

Um exemplo:

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);

Quando mais tarde chamandoglDeleteVertexArrays(1, &VAO);, vaibufferObject ser deletado também?

A razão pela qual estou perguntando é que vi alguns exemplos na Web que não excluíram esses objetos de buffer.

Questão 2

Qual é a quantidade máxima de memória que eu posso alocar para objetos de buffer? Deve ser dependente do sistema, é claro, mas não consigo encontrar uma estimativa para isso. O que acontece quando a RAM de vídeo não é grande o suficiente? Como eu iria saber?

questionAnswers(2)

yourAnswerToTheQuestion