2011-12-12 8 views
5

私は、スタティックオブジェクトとダイナミックな光源(都市モデル)を持つ屋外シーンを照らすために、OpenGLまたはGPGPUに基づいて、適切なグローバルイルミネーション技術を見つけることを試みてきました。それは非常に正確なものである必要はありませんが、それはむしろ単純で、可能であれば反復的で洗練されている必要があります(中間結果を表示することができます)。静的ジオメトリのグローバルイルミネーション

私がインターネット上で見つけたベストマッチは、レイトレーシング、Precomputed Radiance Transfer(PRT)、Radiosityです。

私のアプリケーションでは、レイトレーシングが非常に遅いです。 PRTはあまりにも複雑であまりにも大きな事前計算ステップがあり、ラジオシティは遅すぎるようで、マルチスレッドで実装できるかどうかはわかりません。

誰もが、より良い技術、または上記の問題の回避策を知っていますか?

+1

これは何か? http://www.vis.uni-stuttgart.de/~dachsbcn/download/sii.pdf – Damon

+0

リンクをありがとう!しかし、それは腐食と鏡面効果に向いているようです。私は、拡散照明とオブジェクトのやりとり(Radiosityなど)にほとんど興味があります。私はグラフィックスハードウェアはリアルタイムGIの能力がまだないと思う... –

+0

光伝搬量(Google)を試してみてください。それはゲームのクライシスで使われている技法です。しかし、実装するのはかなり難しいです。ジオメトリが静的な場合は、あらかじめ計算された放射輝度の転送を使用することもできます。 –

答えて

1

はい、この質問は古いですが、人々はまだそれにつまずくかもしれません。
「ボクセル・コーン・トレース」はどうですか?
Unreal Engine 4はそれを実装しており、プレゼンテーションのアルゴリズムについても説明しています。 svoGI(Crassinのボクセル法)よりも現実的で使いやすいアプローチの面では
http://www.unrealengine.com/files/misc/The_Technology_Behind_the_Elemental_Demo_16x9_%282%29.pdf

+1

ここでそのメソッドの実装を見つけることができます:http://www.naixela.com/alex/ – Necrolis

+0

全体的に「シンプルな」側面がこれからはないと思います。また、この技法はかなり計算上高価であり、高度なGPGPUの理解に依存している。また、NvidiaハードウェアでのみサポートされているOpenCL拡張機能も必要です(私が正しく覚えていれば)...あなたが私に尋ねるとかなり制限があります。 –

+0

Woops。あなたが正しい。私は「シンプルな」側面を忘れました...しかし、彼はそれがGPGPUに基づいていると言いました。しかし、正直言って、グローバルイルミネーションについては単純なことはありません。 – Tara

2

、あなたは繰延放射照度ボリュームを検討するかもしれない、here利用できる完全なソースを持つ偉大なWebGLのデモがあり、そのspherical harmonicsを使用して周りに基づきます。

また、hereherehereをチェックアウトできるLPVのような古い技術もあります。

関連する問題