炎の流体物理シミュレーション

炎の流体物理シミュレーションは煙とほとんど同じだが、「温度」パラメータに配慮する必要がある。

炎も実現の仕方は煙とほぼ同じ

具体的には温度は時間で下がっていき、さらに温度は高ければ高いほど浮力を生み、これは流体の速度に影響する。

炎のシミュレーションには温度パラメータが重要

そしてシミュレーション結果をレンダリングする際は密度だけでなく、この温度にも配慮する。煙の場合は単色でもよかったが、炎の場合は温度に応じて色を変えてやるとリアルさが増すのだ。

NVIDIAの実装では低温が赤で高温ほど黄色にしているが、白から青にしたり工夫することで一風変わった炎も表現できる

色の変化は、温度をキーにして、適当に用意した1Dテクスチャ(一次元テクスチャ)からサンプルすることで決定する。また、温度が低く一定温度以下になったときには単色の煙にすれば炎の先端から煙が上がっていくような表現にできる。

温度パラメータをキーにして炎と煙を同時に描き分けることもきる