OpenGL Vertex Array / Buffer Objects
Вопрос 1
Удаляются ли объекты буфера вершин, созданные под определенным VAO, после удаления этого VAO?
Пример:
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);
Когда позже звонюglDeleteVertexArrays(1, &VAO);
, будемbufferObject
быть также удаленным?
Причина, по которой я спрашиваю, состоит в том, что я видел несколько примеров в Интернете, которые не удаляли эти буферные объекты.
вопрос 2
Каков максимальный объем памяти, который я могу выделить для буферных объектов? Конечно, это должно зависеть от системы, но я не могу найти оценку для этого. Что происходит, когда видеопамять недостаточно велика? Откуда мне знать?