2013-10-08 4 views
0

Я делаю приложение на основе OpenGL2, которое отображает более 200 спрайтов на каждой итерации. Я хотел бы использовать меньше drawcalls, так как часто я делаю несколько спрайтов с одинаковой текстурой. К сожалению, обычная техника дозирования мне не подходит из-за Z-Sorting. Важнейшим является дрожь всех элементов, поэтому я не могу их группировать и рисовать группами.Sprite Batching: advanced technique

Мне было интересно, есть ли еще одна техника дозирования для использования в этой ситуации. Например, я мог бы модифицировать шейдер, чтобы работать с несколькими текстурами одновременно (звучит как плохое решение). Поделитесь своими знаниями.

UPD 09.10.13: Я также подумал, что текстуры атласа уменьшат drawcalls из-за значительного сокращения количества материалов.

ответ

1

Я обнаружил, что инстансный рендеринг может ускорить процесс LOT (трассировка икосаэдров 100000 при 2 FPS с нормальной рендерингом до более чем 60 кадров в секунду с инстанционным рендерингом). В краткий справочник по этому вопросу есть хороший раздел «Инстансирование рендеринга». Надеюсь, это может быть применено к вашей проблеме.

+1

Большое спасибо, Джин. Было очень интересно прочитать эту статью, и я нашел ее полезной. – JacksonRR