パーティシペイト メディア

フォグ(霧)、クラウド(雲)、泥水といった媒質(メディア)は、内部を通過する光をある程度散乱させます。つまり、これらのメディアは光の移動に関与して(パーティシペートして)います([Jensen 98]参照)。パーティシペイト メディアをシミュレートするには、ボリュームシェーダが必要です。

ボリューム シェーダ

ボリューム シェーダ parti_volume は、等方性(拡散)スキャタリングまたは異方性スキャタリングによって、均質な(密度が均一な)パーティシペイト メディアおよび不均質なパーティシペイト メディアをシミュレートします。parti_volumeparti_volume_photon は 2 ローブ(両面)の散乱モデルを使用しており、ライトはライトの入射方向の前方および後方に散乱します。この散乱モデルは Ch. Schlick によって考案されたもので、ちり、霧、雨粒などからの実際の散乱をモデリングできます。

あらゆるメディア(真空を除く)には、その内部を移動する光を散乱させる、静止したパーティクルが含まれていると仮定されます。散乱はボリュームのシェーディングにおいて重要な役割を果たし、散乱のタイプを決定するのは光の波長とパーティクルのサイズの関係です。パーティクルの半径がライトの波長よりも非常に小さい場合は、識別可能な散乱はなく、光は吸収されます。ライトの波長よりも若干小さいパーティクルは、レーリー散乱(Rayleigh scattering: タバコの煙やちりなどに見られる)と呼ばれる散乱を引き起こします。光の波長とおおよそ同じサイズのパーティクルは、ミー散乱(Mie scattering: 水の飛沫や霧などに見られる)を引き起こします。Mie モデルでは、希薄なパーティクル密度と濃密なパーティクル密度の両方に対応しており、それぞれ Hazy Mie と Murky Mie と呼ばれます。パーティクルサイズがライトの波長よりも非常に大きい場合は、ジオメトリック光学が有効になります(法線ソリッド サーフェス)。以下の値が Glassner によって提案されています。

機能 r g1 g2
レーリー 0.50 -0.46 0.46
Hazy Mie 0.12 -0.50 0.70
Murky Mie 0.19 -0.65 0.91
parti_volume
    color "parti_volume" (
        integer         "mode",
        color           "scatter",
        scalar          "extinction",
        scalar          "r",
        scalar          "g1",
        scalar          "g2",
        scalar          "nonuniform",
        scalar          "height",
        scalar          "min_step_len",
        scalar          "max_step_len",
        scalar          "light_dist",
        integer         "min_level",
        boolean         "no_globil_where_direct",
        array light     "lights")
mode
モード 0 では、ボリューム全体がパーティシペイト メディアで満たされます。モード 1 では、指定した高さ以下にパーティシペイト メディアが満たされ、その上は清浄な空気または真空です。
scatter
拡散を起こすメディアのカラーです。メディアによって拡散される直接光および間接光のカラーを決定します。フォトンボリュームマップのフォトンに対する、フォトンエネルギーの乗数としても作用します。消滅係数との関係は反比例です。
extinction
メディアの消滅係数です。メディアの中で吸収または分散されるライトの割合を決定します。0 は清浄な空気または真空です。この係数が大きいほど、メディアの密度が高く(フォトンの散乱が多く)なります。消滅係数が大きいと、フォトンは短距離ですでに散乱されているために、ボリュームの内部まで深く入ることができなくなります。
r
g1
g2
散乱をコントロールします。g1 と g2 がゼロの場合(デフォルト)は、等方性散乱がモデリングされ、すべての散乱方向の確率が同等になります。これは、拡散散乱とも呼ばれます。異方性反射は、2 ローブ散乱モデルによってモデリングされます。それぞれのローブは、後面散乱(-1 < g < 0)、拡散(等方性、g = 0)、前面散乱(0 < g < 1)のいずれかです。1 つ目のローブは r によってウェイト付けされ、2 つ目のローブは 1 - r によってウェイト付けされます。
nonuniform
メディアが均質(均等な密度)であるか不均質(雲のような密度の変化)であるかを決定します。0 から 1 までの数字です。値が 0 の場合は、メディアは完全に均質で、消滅パラメータにのみ影響を受けます。値が 1 の場合は、雲のような Blinn 密度変化が作成されます。0 から 1 までの範囲の値は、この 2 つの組み合わせになります。
height
mode パラメータが 1 の場合は、ここで指定した高さよりも上が清浄な空気または真空になります。
min_step_len
max_step_len
レイの進行のステップ長を決定します。通常、最小値(min_step_len)は最大値(max_step_len)の 10 %になるようにします。最大値が小さいほど、より正確でゆっくりになり、ボリュームステップはサンプリングされて可視化されます。parti_volume_photon でも、ボリューム フォトンのルックアップ用に同じパラメータが使用されています。
light_dist
エリア光源のサンプリングを最適化します。次の例ように、エリア光源にオプションの低サンプリングが使用されている場合に使用します。
    rectangle  0.5 0.0 0.0  0.0 0.0 0.5   10 10 3 2 2 
効率性を高めるため、parti_volume は常に低いサンプルの数値を使用します(ここでは 2 2)。直接イルミネーションは、レイの進行中にそれぞれのレイに沿った多くのポイントで計算されるので、通常はこれで十分です。しかし、エリア光源の近くでは、高いサンプルの数値(ここでは 10 10)を使用する必要があります。light_dist パラメータは、使用すべき高い方のサンプルの数値を、光源からの距離によって決定します。

min_level
無効です(対応するボリューム フォトン シェーダによって使用されます)。

no_globil_where_direct
ボリューム エフェクト内のグローバル イルミネーションを計算せず、直接イルミネーションだけを計算するようにシェーダに指示します。そのような考慮が不要な場合は、このパラメータは最適化用になります。1(オン)に設定した場合は、散乱エフェクトの方向性に関連するパラメータ rg1g2 は間接イルミネーションについては考慮されなくなりますが、直接イルミネーションには考慮されます。

lights
ライトのインスタンスの配列です。ライトが指定されていない場合は、ジオメトリ インスタンス内のライト リストが使用されます。インスタンス ライト リストが指定されていない場合は、シーン内のすべてのライトが使用されます。

透明マテリアル

非推奨 このマテリアル シェーダは、mental ray の hull オブジェクトではないパーティシペイト メディアまたはボリュームを囲むヘルパサーフェスに使用します。現在のオブジェクトとの相互作用を一切行わず、受信レイを単に同じ方向に引き続きトレースするものです。このようなボリュームコンテナは、これ自体を不可視にする必要があります。

transmat
    color "transmat" ()

パラメータはありません。


Copyright © 1986-2009 by mental images GmbH