Можно ли смешивать VBO и немедленный рендеринг в OpenGL ES? - PullRequest
1 голос
/ 06 мая 2011

Я занимаюсь разработкой приложения OpenGL ES, и мне нужно визуализировать очень большие сетки (около 700000 треугольников). Проблема в том, что мне не хватает места VBO для этих сеток, и если я использую немедленный рендеринг, FPS падает как 60% или больше (проецируется из экспериментов с меньшим количеством треугольников). Есть ли промежуточное решение, где я могу использовать максимальный размер VBO для части меша, а затем, в остальном, использовать немедленный рендеринг?

Ответы [ 2 ]

2 голосов
/ 06 мая 2011

Вы не можете видеть ВСЕ из 700000 вершин одновременно.Попробуйте обрезать те, которые вы не видите, и воткните остальные в VBO.

Это даже не должно быть точным, просто найдите быстрый способ избавиться от большинства треугольников вне вашего поля зрения (или за объектом, или слишком близко друг к другу, чтобы материя или иным образом невидимая).

0 голосов
/ 06 мая 2011

Это на какой-то встроенной или портативной платформе?700 000 вертов - это большая модель, но это не так много памяти ... может быть, 22 МБ в зависимости от того, что содержат ваши верты.Возможно, вы достигаете максимального размера одного VBO, а не исчерпываете память для VBO?

Вы можете разделить вашу модель на несколько VBO и визуализировать фрагменты, используя один вызов отрисовки для каждого чанка.Если вы используете индексированные / зачищенные треугольники, вам нужно будет продублировать несколько вершин между кусками.

...