マテリアル

マテリアル シェーダ dgs_material および dielectric_material は、異なる反射と屈折の物理ベースモデルを実装します。

拡散(diffuse)- 光沢(glossy)- スペキュラ(specular)マテリアル

dgs_material マテリアル シェーダは、鏡、光沢のあるペイントやプラスチック、光沢のある異方性マテリアル(ブラシ仕上げの金属など)、拡散マテリアル(紙など)、半透明マテリアル(すりガラスなど)、およびこれらのあらゆる組み合わせをシミュレートします。このシェーダはシャドウ シェーダとしては使用できません。シャドウは直線的な光線に沿ってのみ計算でき、DGSマテリアルの定義はこれに一致しないからです。DGS オブジェクトからの部分的なシャドウに隠れたオブジェクトを照らす場合は、グローバル イルミネーションを使用します。

dgs_material
color "dgs_material" (
    color           "diffuse",
    color           "glossy",
    color           "specular",
    scalar          "shiny",
    scalar          "shiny_u",
    scalar          "shiny_v",
    scalar          "transp",
    scalar          "ior",
    array light     "lights"
    integer         "mode")
diffuse
ライトおよび入射光の方向および光の方向の内積に基づいたウェイトによって戻されるカラーとの乗算の後に、各ライトの結果に追加されます。
glossy
光沢のあるハイライトのカラーを指定します。
specular
ミラー反射のカラーを指定します。
shiny
Phong の reflection exponent と同じような方法で(5 が最も幅広く、100 が最も狭い)、光沢のある等方性反射の幅を定義します。shiny がゼロ以外の場合には、次の 5 つの異方性パラメータは無視されます。
shiny_u
shiny_v
光沢のある異方性反射に使用します。光沢のある反射の幅は、U 方向および V 方向の第一次導関数で指定されます(導関数は、このシェーダの適用先となるポリゴンまたはフリーフォーム サーフェス上で有効にしておくか、指定しておく必要があります)。通常、shiny パラメータは未定義にしておくか、0 に設定しておきます。
transp
透明度(ior が 1 の場合)または屈折度(ior が 1 以外の場合)を指定します。これによって間接的に反射率も指定されます(1 - transp)。スペキュラの透過は屈折と同じですが、光沢の透過および拡散の透過は半透明性として知られています。
ior
マテリアルの屈折率です。金属の IOR はガラスの IOR よりも高いのが普通です。
lights
ライト リストに使用するライトのインスタンスのリストです。
mode
使用するライトをコントロールします(ライト リスト参照)。

等方性の反射では、shiny パラメータを使用し、shiny_u および shiny_v の両パラメータは未定義にしておきます。shiny パラメータが未定義またはゼロの場合は、シェーダは shiny_u および shiny_v が定義されゼロ以外であるかどうかを確認し、もしそうであれば異方性の反射を計算します。サーフェス U 方向が異方性のブラッシング方向として使用されます。

誘電体マテリアル

dielectric_material シェーダは物理ベースのマテリアル シェーダの 1 つで、ガラス、水、その他の液体などのような誘電体媒体(メディア)をシミュレートする場合に使用します。このシェーダは誘電体インタフェースに対してフレネルの公式を使用します。つまり、ほとんどのライトでは、垂直入射方向についてはサーフェスを介して透過されますが、グレージング入射角度については、実世界の誘電体マテリアルの動作をシミュレートしてサーフェスによって反射されます。さらにこのシェーダは、ベールの法則を使って媒質を通過する光の吸収を表現します。つまり、誘電性マテリアルからなる 2 つのサーフェス間を伝達する時、光は指数的な減衰の対象となります。

サポートされる誘電体インタフェースには、誘電体と大気、誘電体と誘電体の 2 つのタイプがあります。誘電体と大気は誘電体マテリアルと大気(ガラスと空気など)のインタフェースをシミュレートし、誘電体と誘電体は 2 つの誘電体マテリアル間(ガラスと水など)のインタフェースをシミュレートします。

物理的に正確なシミュレーションを得るためには、正確なサーフェス インタフェースを使用することが重要です。コニャックのグラスをモデリングする場合は、グラスと空気、グラスとコニャック、コニャックと空気の合計 3 つのインタフェースが必要です。誘電体マテリアルはサーフェスの法線を使用してインタフェースの両側の媒体を区別します。誘電体と大気のインタフェースでは、法線は大気の方向を向いています。誘電体と誘電体のインタフェースでは、法線は「外側」の誘電体マテリアルの方向を向いています。誘電体マテリアルを使用するには、ignore_normals パラメータが true に設定されている場合を除き、モデル法線を正確に方向付けておく必要があります。このシェーダはシャドウ シェーダとしては使用できません。

dielectric_material
color "dielectric_material" (
    color           "col",
    scalar          "ior",
    color           "col_out",
    scalar          "ior_out",
    boolean         "ignore_normals"
    scalar          "phong_coef",
    array lights    "lights",
    integer         "mode")
col
マテリアルを 1 単位トラバースした後に残存する光の割合に相当する、「固執」率です。0.9 は、マテリアルの単位長あたり 10 %の光が吸収されることを意味します。長さはワールド座標で測定されます。
ior
誘電体マテリアルの屈折率です。
col_out
指定された場合は、マテリアルは誘電体と誘電体のインタフェースであり、col_out は外側の誘電体マテリアルの固執率です。
ior_out
col_out と組み合わせて、外側の誘電体マテリアルを記述します。
ignore_normals
: 通常、レイがオブジェクトに入るかオブジェクトから出て行くかという決定は、法線の方向(入射レイの方向を向いているかいないか)に基づいて行われます。オブジェクトのモデリングが不十分であり、法線の信頼性が疑われる場合は、このフラグを設定すると、法線の方向に依存するのではなく、これまでにレイがオブジェクトに入った回数とオブジェクトから出た回数が誘電体マテリアル シェーダによって考慮されます。
pcoef
正規化された phong ハイライトの計算に使用される phong 係数です。エリア光源を模した印象を生成するためにも使用されます。この要素がゼロの場合は、フェイクのハイライトは存在せず、反射されたレイが明るいものに衝突したときにのみハイライトのエフェクトを作成します。
lights
ライト リストに使用するライトのインスタンスのリストです。
mode
使用するライトをコントロールします(ライト リスト参照)。

パスマテリアル

path_material シェーダは、パスレイトレーシングを実装します。分散レイトレーシングとは対照的に、パス レイトレーシングを使用した場合は、個々のレイが衝突すると、多くとも 1 つのレイが反射または屈折されます。トレース深度制限を十分に大きくすれば、ほとんどの間接イルミネーション エフェクトは正確に計算されます。ただし、結果は非常にノイズが多く、高品質なイメージを取得するためには、きわめて多くのサンプル数が要求されます。

ファイナルギャザーおよびグローバル イルミネーションの設定は、path_material の設定されたサーフェスには無効であることに注意してください。拡散間接イルミネーション コンポーネントは、lambert の分散方向に従って、多くても 1 つのレイを反射することによって計算されます。path_material_photon シェーダは存在しません。レンダリングを高速にするため、ファイナルギャザーおよびフォトン放出は無効にします。フォトンを使用したシーンでの設定よりも高度なトレース深度の設定が必要となります。

path_material
color "path_material" (
    color           "diffuse",
    color           "glossy",
    color           "specular",
    scalar          "shiny",
    scalar          "shiny_u",
    scalar          "shiny_v",
    scalar          "transp",
    scalar          "ior",
    array light     "lights",
    integer         "mode")

パラメータおよびその意味は、dgs_material シェーダと同じです。

Copyright © 1986, 2015 NVIDIA ARC GmbH. All rights reserved.