Простой 3D-алгоритм дыма для эмиттера частиц в OpenGL - PullRequest
1 голос
/ 21 октября 2011

Мне нужно создать простой излучатель частиц, чтобы добиться эффекта дыма. Мне нужна помощь с алгоритмом, который должен сделать что-то вроде этого:

* Создать X количество частиц в кадре с временем жизни L

* Определите скорость для каждой отдельной частицы в кадре

Есть ли хороший математический алгоритм для этого?

Ответы [ 2 ]

1 голос
/ 21 октября 2011

Большинство из того, что я видел, просто имеет скорость излучения на уровне излучателя, затем, когда вы излучаете частицу, вы выбираете вектор скорости, который немного отклоняется от излучателя как по направлению, так и по длине.Более продвинутые решения делают его объемным, имитируя его вместо жидкости.Погуглив объемный дым, скорее всего, найдется масса советов по этому поводу.

0 голосов
/ 16 апреля 2014

Я нашел этот сложный пример - fluidsim .
И еще один на простом C без OpenGL, вы можете найти алгоритм внутри, проверить его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...