Мои VBO отправляются в GPU только при первом использовании, это приводит к небольшому зависанию при первом рисовании объекта / группы объектов.
Я попытался загрузить данные таким образом:
glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_STATIC_DRAW);
glBufferSubData(GL_ARRAY_BUFFER, 0, size, data);
и так
glBufferData(GL_ARRAY_BUFFER, size, data, GL_STATIC_DRAW);
Но результат тот же.
Если я затем нарисую треугольник после glBufferData:
glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_BYTE, NULL);
, тогда проблема решена, но я считаю это решение довольно хакерским.
Есть ли лучшее решение?
(у меня есть несколько небольших VBO, содержащих по 256 вершин в каждой)