Как мне получить размер VBO в OpenGL-ES?

Я отправлял массивы вершин (32-битные числа с плавающей запятой) на GPU каждый раз, когда хотел их нарисовать, но это было неэффективно, поэтому я переключился на объекты буфера вершин, чтобы кэшировать массивы вершин в графическом процессоре.

Это работает, но мне было интересно, есть ли способ позже определить размер данного VBO, не возвращаясь к исходным массивам вершин? Вот процесс, с которым я борюсь:

  1. У меня есть массив вершин, например, из шести 32-битных чисел с плавающей запятой.
  2. Я отправляю свой массив вершин графическому процессору через OpenGL-ES, где он хранится в VBO, дескриптор которого я сохраняю.
  3. Мой массив вершин на данный момент избыточен, поэтому я удаляю его.
  4. Позже я использую дескриптор, чтобы заставить OpenGL-ES что-то рисовать, но на этом этапе я также хотел бы знать, как определить размер массива вершин, который изначально использовался для создания VBO. Теперь у меня есть только дескриптор VBO - могу ли я как-то заново определить, что я сохранил шесть 32-битных чисел с плавающей запятой в этом VBO?

Я, наверное, упускаю что-то действительно очевидное. Спасибо за любые предложения!

14
задан Monte Hurd 29 September 2010 в 06:51
поделиться