2016-01-19 8 views
1

Я следил за учебным пособием для системы частиц и обнаружил, что он объединяет все частицы в каждом кадре в одну сетку с использованием динамического буфера вершин. Мне было интересно, не лучше ли было бы превращать частицы с помощью независимых квадов, поэтому мне не придется использовать динамический буфер? который я понимаю, не так эффективен.Для системы частиц в DirectX, быстрее ли рисовать одну сетку с помощью динамического буфера вершин или рисовать много независимых квадов?

ответ

1

Не могли бы вы дать ссылку на учебник? Какую версию DX вы используете? Я думаю, что лучше всего будет метод, называемый инстанс рендеринга (DrawInstanced (...) на устройстве в DX11)

Вот пример http://www.rastertek.com/dx11tut37.html

Идея довольно проста. У вас есть один экземпляр геометрии (всего 4 вертера для квадроцикла) и одна текстура в памяти графического процессора, а затем вы несколько раз отправляете его только для отправки только динамических данных (например, матрицы преобразования, значения альфа и т. Д.). Этот метод используется для многих вещей, а не только частиц.

С наилучшими пожеланиями

+0

самое смешное в том, что учебник я следующее actualy из rastertek а http://www.rastertek.com/dx11tut39.html Но теперь, когда вы упоминаете его инстансы учебник выглядит намного лучше для системы частиц, чем сам учебник по системе частиц. – Haalef

+0

Обратите внимание, что это просто кажется законным для меня. Я никогда не использовал учебник. Но, насколько я понимаю, он охватывает основную идею, связанную с instancing :) Поэтому я упомянул об этом в качестве примера. – LukeN

 Смежные вопросы

  • Нет связанных вопросов^_^