元記事:blender.org - Volume Rendering


ボリュームレンダリング



Blender に新しく物理ベースの Volume Material タイプが登場し、煙、雲、霧のような関与媒体や、その他ボリューメトリックエフェクトのレンダリングを行えます。すべてのプロシージャルテクスチャにデータソースとして対応しており、また、ボクセル(Smokeシミュレータなど)とポイントクラウドのレンダリング用の、二つの新しい Texture(Voxel、Point Density) もあります。


シェーディング




いくつかのシェーディングモードも利用可能で、高速にレンダリングする物から物理的に正しい物まで、様々なオプションを提供します。
[wiki]-''Shadeless'' は、最もシンプルなもので、薄い、かすかな霧や蒸気などに便利です。
-''Shadowed'' も似ていますが、外部オブジェクトの影があります。
-''Shaded'' は、そのボリュームに光が侵入するにつれてセルフシェーディングを行わせるために、ボリューメトリックシングルスキャッタリングメソッドを使用します。マルチスキャッタリングの近似も実装されていますが、Alpha 0ではまだ動作が完全ではありません。これは近日に修正します。
[/wiki]


表示


ボリュームは物理ベースモデルでシェーディングされ、若干調整が入ります。シェーディングボリュームには数個のパラメータ、Emission、Scattering、Transmission が伴います。これらはすべて3D(プロシージャル)Textureによりテクスチャをつけることができます。
[wiki]-''Emission'' はボリュームによって生成される光(火のように光り輝く媒体など)をコントロールします。
-''Scattering'' は、光がボリュームの外に散乱もしくは吸収される量をコントロールし、明るくなったり、(黒い煙のように)暗く、密度が高くなるでしょう。
-''Transmission'' は、光がボリュームを通り、透過した後の、ボリュームの色を決定します。
[/wiki]
初期ドキュメントと、シェーディングパラメータの詳細な説明が Blender Wiki にあります



Voxel Data



Blender 2.5 Smoke Test 4 from Hanno Bansch on Vimeo.



'manix' data set from Matt Ebb on Vimeo.



Volume Material とともに、Density や Color などの Volume プロパティへのテクスチャリング用に使用される 3D テクスチャが追加されました。その新しい Texture タイプの一つが Voxel Data です。

デフォルトの Voxel Data ソース、Smoke は、Blender 内部の Smoke シミュレータのレンダリングに使用されます。その他の Binary Raw Formats、Image Sequence などのソースは画像シーケンスを積み重ねて3Dを表現するのに使用できます。これは CT スキャンなどの医療用ボリュームデータ用の一般的なフォーマットです。


Point Density



Volume clouds from Matt Ebb on Vimeo.



house of cards / point density from Matt Ebb on Vimeo.


ボリュームレンダリングに便利な、もうひとつの新しい Texture タイプが、Point Density です。Point Density は、与えられたポイントクラウド(オブジェクトの頂点もしくは Particle システム)を、ユーザが設定したそのポイントの半径(Radius)を使用し、3Dボリュームとしてレンダリングします。内部的にはこのシステムは、高速に範囲を決定するため、BVH データ構造を使用しています。

レンダリングされたポイントはデフォルトでは球状ですが、様々なスムージング用 Falloff オプションがあります。同様に結果をノイズで変形し、ディテールを追加するシンプルな Turbulence オプションもあります。Point Density を Particle System で使用すると、さらに Particle の速度や世代、Speed などの情報を、Color/Alpha Ramp のグラデーションを使用して視覚化できます。

Point density texture features from Matt Ebb on Vimeo.




元記事:blender.org - Volume Rendering