パーティクルシミュレーションに基づいてOpenGLで火災エフェクトをレンダリングしたい。私は位置と温度(したがって色)を持つ何百もの粒子を持ち、他のすべての性質を持っています。パーティクルが広すぎると、glutを使用してsolidSphere
をレンダリングするだけでは現実的ではありません。パーティクル情報に基づいてどのように火をつけることができますか?OpenGLのレンダリング
答えて
あなただけのリアルな火災の効果を作成しようとしている場合は、私はいくつかの種類を使用します他の回答で推奨されているように、既存の図書館のしかし、それはあなたがシミュレーションの表示後になっているようです。
試してみる価値のある解決策は、現在の球体を、真ん中が白で、端に向かって透明になるように看板(すなわち、常にカメラに向かっているグラフィックイメージ)で置き換えることができます。あなたのパーティクルに。
より良い解決策は、グリッド上の各頂点の透明度と色を制御できる2Dグリッドのセットとしてフレームに近づけることです。 OpenGLでは、クワッドからプレーンを作成し、パーティクルシステムを使って各頂点の色と透明度を計算します(最も近いパーティクルからの補間によって)。 OpenGLは頂点間の各ピクセルを補間し、「領域内の平均粒子」を滑らかに見せます。
ニース!後者はプロシージャルテクスチャとして実装できます。うーん...いいえ、理にかなっていません。それぞれのフラグメントシェーダのインスタンスには多すぎることが多分あります。そのため、フレームを作成する前に、フレームごとにそのテクスチャを作成する必要があります。 – Kos
ありがとうございます。それらの2次元グリッドに関する情報を追加してください。 – Etan
あなたが達成したいものを正確に知っていれば、本当に役に立ちます:シミュレーションをリアルタイムで描くか、特定のスチルをレンダリングしようとしていますか?あなたはそれが忠実にシミュレーションを表現したいのですか、それとも目に見えるはずですか? – Elemental
あなたはおそらく火の効果をレンダリングするためにパーティクルシステムを使用したい、ここにちょうどそれを行う方法について訥河のチュートリアルがあります:http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=19
私は彼らがどのように動作するかを知りたいので、既存のパーティクルシステムを使用したくない;-) – Etan
- 1. ウィンドウタイトルオーバーラッピングOpenGLレンダリング
- 2. OpenGL L-Systemレンダリング
- 3. キューブへのOpenGLレンダリング
- 4. OpenGL - テクスチャへのレンダリング
- 5. OpenGLバック・トゥ・フロント・レンダリング
- 6. OpenGlでマンデルブローセットをレンダリング
- 7. OpenGLレンダリングのためのバッファアンドロイド?
- 8. QMLアイテムへのOpenGLレンダリング
- 9. Go-gl OpenGLレンダリングの問題
- 10. OpenGL相当のDirectXレンダリング
- 11. OpenGL ESイメージへの2dレンダリング
- 12. スライバのOpenGLレンダリングとラスタライズ
- 13. OpenGL Rectangleレンダリングしません
- 14. OpenGLメッシュをSFMLレンダーテクスチャにレンダリング
- 15. OpenGLレンダリング状態管理
- 16. Android:NDKを使ったOpenGLレンダリング
- 17. レンダリング透明な形状OpenGL
- 18. OpenGL ES 1.0 - 不正なレンダリング
- 19. OpenGLソフトウェアのレンダリングの代替方法
- 20. OpenGLのテキストのレンダリング方法とトレードオフ
- 21. FBOレンダリングのためのOpenGL ES2.0オフスクリーンコンテキスト
- 22. OpenGL ES 2.0の小さなオブジェクトのレンダリング
- 23. OpenGLテクスチャの初期化/レンダリングの問題
- 24. qt5のqtquick 2.0でカスタムOpenGLをレンダリング
- 25. OpenGLの色でレンダリングされたグレースケールテクスチャ
- 26. FBOから画面へのOpenGLレンダリング
- 27. アンドロイドネイティブOpenGL ES 3.0 PBOレンダリング空の画面
- 28. クラスのOpenGLオブジェクトをレンダリングしますか?
- 29. OpenGL ES 3.0:テクスチャへのゼロコピーCPUレンダリング?
- 30. CoreGraphicsからIOSのOpenGLテクスチャにレンダリング
補間する必要がありますか、これを行う方法がありますか? – ccook
はい、私はまだそれに精通していないので、私はOpenGLでこの補間を行う方法を探しています。固体の動的モデルのいくつかの並べ替え...透明性は、端に現実的な火を作ることも重要です – Etan