Я следил за учебным пособием для системы частиц и обнаружил, что он объединяет все частицы в каждом кадре в одну сетку с использованием динамического буфера вершин. Мне было интересно, не лучше ли было бы превращать частицы с помощью независимых квадов, поэтому мне не придется использовать динамический буфер? который я понимаю, не так эффективен.Для системы частиц в DirectX, быстрее ли рисовать одну сетку с помощью динамического буфера вершин или рисовать много независимых квадов?
1
A
ответ
1
Не могли бы вы дать ссылку на учебник? Какую версию DX вы используете? Я думаю, что лучше всего будет метод, называемый инстанс рендеринга (DrawInstanced (...) на устройстве в DX11)
Вот пример http://www.rastertek.com/dx11tut37.html
Идея довольно проста. У вас есть один экземпляр геометрии (всего 4 вертера для квадроцикла) и одна текстура в памяти графического процессора, а затем вы несколько раз отправляете его только для отправки только динамических данных (например, матрицы преобразования, значения альфа и т. Д.). Этот метод используется для многих вещей, а не только частиц.
С наилучшими пожеланиями
самое смешное в том, что учебник я следующее actualy из rastertek а http://www.rastertek.com/dx11tut39.html Но теперь, когда вы упоминаете его инстансы учебник выглядит намного лучше для системы частиц, чем сам учебник по системе частиц. – Haalef
Обратите внимание, что это просто кажется законным для меня. Я никогда не использовал учебник. Но, насколько я понимаю, он охватывает основную идею, связанную с instancing :) Поэтому я упомянул об этом в качестве примера. – LukeN