Я хотел знать, предназначены ли OpenBL VBO для использования только для больших массивов геометрии или имеет смысл использовать их даже для небольших массивов. У меня есть код, который позиционирует разнообразную геометрию относительно другой геометрии, но некоторые из «листовых» геометрических объектов довольно малы, 10x10 квадроциклов и тому подобное (200 треугольников за штуку). У меня может быть очень большое количество этих мелких листовых предметов. Я хочу иметь другую матрицу преобразования для каждого из этих маленьких листовых объектов. Кажется, у меня есть 2 варианта:Производительность использования большого количества небольших VBO
Используйте отдельный VBO для каждого листового объекта. Я могу в итоге получить большое количество VBOs.
Я мог хранить данные для нескольких объектов в одном VBO и применять соответствующие преобразования при изменении данных для данного листового объекта. Это кажется странным, потому что часть точки OpenGL состоит в том, чтобы эффективно выполнять большое количество матричных операций в аппаратном обеспечении. Я бы делал в программном обеспечении что-то, что OpenGL разработано очень хорошо для аппаратного обеспечения.
Имеет большое количество VBOs неэффективно, или я должен просто пойти дальше и выбрать вариант 1? Есть ли более эффективные способы решения ситуации с наличием большого количества мелких предметов? Должен ли я использовать вершинные массивы или что-то в этом роде?
Что такое instancing? – Gravity
вот некоторая информация: http://sol.gfxile.net/instancing.html, но в основном это оптимизированный способ многократного рендеринга одних и тех же объектов (но с разными преобразованиями и материалами) – fen