Ответ 1
Doh! Просто нашел:
int nBufferSize = 0;
glGetBufferParameteriv (GL_ARRAY_BUFFER, GL_BUFFER_SIZE, & nBufferSize);
int originalVertexArraySize = (nBufferSize/sizeof (float));
Я отправлял массивы вершин (из 32-битных поплавков) на GPU каждый раз, когда я хотел их рисовать, но это было неэффективно, поэтому я переключился на Vertex Buffer Objects для кэширования вершинных массивов в графическом процессоре.
Это работает, но мне было интересно, есть ли способ определить размер данного VBO позже, не возвращаясь к исходным массивам вершин? Здесь процесс, с которым я борюсь:
Вероятно, я пропустил что-то действительно очевидное. Спасибо за любые предложения!
Doh! Просто нашел:
int nBufferSize = 0;
glGetBufferParameteriv (GL_ARRAY_BUFFER, GL_BUFFER_SIZE, & nBufferSize);
int originalVertexArraySize = (nBufferSize/sizeof (float));