Мне нужно нарисовать тысячу объектов с помощью OpenGL (3.3).
Я использую один VAO для каждого объекта, и я думаю, что это проблема.
Изоляция проблемы для тестирования Я заметил, что в приведенном ниже коде от 0 до 1 память процесса увеличивается на 800 МБ.
glewExperimental = GL_TRUE;
GLenum initStatus = glewInit();
assert(initStatus == GLEW_OK);
// point 0
for (size_t i = 0; i < 100000; i++)
{
GLuint VAO;
glGenVertexArrays(1, &VAO);
glBindVertexArray(VAO);
}
// point 1
Каков подход к решению этой проблемы?
Я знаю, что можно использовать один VAO для нескольких сеток, но что делать, если одна из этих сеток удалена или ее вершины изменены ??