テレインレンダリングで最後にチェックインしたとき、ROAMは新しいホットネスでした。はい、それはずっと前でした。ROAMはプログラムが非常に簡単で、かなりまともな結果が得られたため、ROAMが大好きでした。技術は今ではかなり改善されていると思います。最近の地形レンダリングの最も一般的な方法は何ですか?
テレインレンダリングで最後にチェックインしたとき、ROAMは新しいホットネスでした。はい、それはずっと前でした。ROAMはプログラムが非常に簡単で、かなりまともな結果が得られたため、ROAMが大好きでした。技術は今ではかなり改善されていると思います。最近の地形レンダリングの最も一般的な方法は何ですか?
回答:
Halo Wars GDCのプレゼンテーション「The Terrain of Next-Gen」をぜひご覧ください。単純な高さフィールドディスプレイスメントではなく、完全なベクトルフィールドディスプレイスメントの使用について説明します。
少し革新的なものについては、ジオメトリクリップマップを確認してください。GPU Gems 2の良い記事がここにあります。
1つは、ジオメトリパイプラインはできるだけシンプルで、ジオメトリをGPUにプッシュするだけで、基本的なLOD管理が必要です。
Siggraph 2007 で、Procedural Shader Splattingを使用したFrostbiteでのTerrain Renderingというプレゼンテーションを行いました。これは、ジオメトリのLODと地形の一般的なテクスチャとシェーディングの両方の処理方法の詳細を示しています。複数のレイヤーでセミプロシージャシェーダーの組み合わせを使用します。これについては、トークのコースノート(pdf)でさらに詳しく説明しています。
実際、最新のトレンドは、地形の疎ボクセル八分木へのレイトレーシングを、残りのすべての三角形メッシュのラスタライズと組み合わせて使用することです。idソフトウェアは現在、この技術を使用して、今後のエンジンに実装しています。
友好的な警告と同じように、対象をグーグルで検索すると、ROAMおよび関連技術(ROAM、Geoミップマッピングなど)で100 000ヒットすることは間違いありません。それらから十分に離れてください、それらは非常にCPUバウンドです。
「ブルートフォース」が実際に機能することをあちこちで読みました。そして、私が実装したどのROAMテクノロジーよりもうまく機能するという個人的な経験があります。単純に景観を分割し、その一部を間引くことは、見事に機能しました。概念実証ソリューションとして。
シンプルなシステムは、常に最良の最初の実装です。社内のランドスケープエンジンを使用していない場合は、単純なエンジンを作成します。ゲームの残りの部分を続行し、後で他のアイデアに戻ります。ランドスケープは実装するのが楽しく(非常に単純な変更でこのようなさまざまな結果が得られるため)、典型的な開発者はこのパズルにあまりにも長い間気を取られてしまいます。
ゲームをレイアウトしたら、ネバーエンダーはまさにその通りです。
ジオメトリクリップマッピングの代替として、チャンクLODは、グラフィックスパイプラインに効率的にフィードする一般的に使用される手法であり、ジオメトリクリップマッピングのような特許は取得されていません。おそらくほとんどの現代の仮想地球儀で使用されます。
高さと色のテクスチャのみをGPUに送信し、シェーダーを介して地形ジオメトリを構築することにより、今日のGPUを完全に活用する最新の手法がありますが(Bruneton and Neyret 2008を参照)、これは高速でありながら、 t物理学およびシミュレーション用にCPUに地形ジオメトリがあります。最も効率的なものに応じて、ラスタライズとレイキャスティングを動的に切り替える最新の手法もあります(Dick ea 2010を参照)。