2009-07-15 5 views
5

私はOpenGLで容積雲をレンダリングしたいと思います。 ボリュームメトリッククラウドをレンダリングする簡単な方法を説明する興味深い論文が見つかりました。 (http://www.inframez.com/events_volclouds_slide18.htm) しかし、「フラクタルキューブ」(またはperlin-noiseキューブ)の作成方法はわかりません。フラクタルキューブを作成するには?

私の質問は、どのようにキューブの6つのタイル可能なフラクタルテクスチャを作成するのですか?

編集:私の目的は、雲のスカイボックスではなく、体積測定の雲オブジェクトを作ることです。

答えて

3

ケン・パーリン自身によって書かれたパーリンノイズに素敵な導入は、hereです。彼は、一次元または二次元のノイズ関数をいくらか詳細に生成することについて話し、3Dでどのように動作するかを示すために一般化して、望むようにしっかりとしたノイズの立方体を生成します。

+0

これは私が探していたものです: http://www.noisemachine.com/talk1/16.html –

+0

私の実装:http://code.google.com/p/jslibs/source/browse/trunk/src /jsprotex/noise.cpp –

0

2Dビルボードテクスチャを使用する場合は、透明度が雲のように見えるアルファブレンド2Dテクスチャを作成します。彼らがあなたに求めていることは、ほぼ同じことです。テクスチャだけがキューブの周りをシームレスに(スカイボックスのように)ラップします。 perlin-noise filterは、何かを雲のように見せるアルゴリズムのようです。

私のショートカットアプローチは、Photoshopのクラウドフィルタを使用してテクスチャを作成することです。アルファブレンディングについてはthis tutorialの基本コンセプトに従いますが、円形グラデーションは行いません。シームレスなスカイボックスのようなグリッドにカットします(つまり、6面を持ち、キューブの周りを適切に折り畳むようにします)。

+0

「パーティクルエフェクトチュートリアル」リンクをありがとう。 –

0

「フラクタルキューブ」テクスチャとは、パーリンノイズのオクターブから生成されたFBM(フラクタルブラウン運動)フラクタルです。 Thisゲームプログラミングの宝石の章では、それらの形成方法について説明します。基本的な考え方は、各オクターブが前のオクターブの約2倍の周波数を持つように、Perlinノイズの複数の「オクターブ」を組み合わせることです。ノイズ関数を変更することで、シームレスにタイリングすることができます。 Photoshopのクラウドフィルタは基本的にFBMノイズであり、シームレスにタイリングされているため、Photoshopにアクセスできる場合にのみ使用できます。

0

あなたは素敵なクラウドレンダリングで本当に興味があるなら、その後、マーク・ハリスのアルゴリズムが複雑とはいえかなり良いです:http://www.markmark.net/clouds/

+0

これを見てください:http://www.youtube.com/watch?v=C9CfhyajVjY –

+0

正直言って、それらの雲は単調ではありません。私は、セルオートマトンベースのクラウドシミュレーションと、Perlinノイズクラウドレンダリングのようなものを組み合わせていると思います。 – Eric

関連する問題