環境

これらのシェーダは、有限距離または無限距離にマッピングされたカラー テクスチャからカラーを返します。レンダリング後のシーンにバックグラウンド プレートまたはフォアグラウンド プレートを追加する場合に使用すると便利です。環境は環境シェーダに使用し、オーバーレイはレンズ シェーダに使用し、テクスチャは平面またはシーン内のその他のオブジェクトのテクスチャ シェーダまたはマテリアル シェーダに使用しなければなりません。

球体環境

テクスチャシェーダを指定し、作成されるテクスチャがシーンの周囲の無限球体にラップされている場合は、テクスチャを評価してカラーを返します。環境シェーダに使用すると便利です。

mib_lookup_spherical
color "mib_lookup_spherical" (
    vector          "dir",
    scalar          "rotate",
    color texture   "tex")
dir
サンプリングする方向です。mib_texture_vector に接続されている場合は、選択する値を -10 にすると便利です。ワールド空間に渡されます。これがヌル ベクトルである場合は、ワールド空間への変換の後にレイの方向が使用されます。

tex
計算された座標をルック アップするテクスチャまたはシェーダです。

立方体環境

球体環境シェーダとほぼ同じですが、無限立方体に 1 つまたは 6 つのテクスチャをマッピングすることができます。環境シェーダに使用すると便利です。

mib_lookup_cube1
color "mib_lookup_cube1" (
    vector          "point",
    vector          "dir",
    vector          "size",
    color texture   "tex")
mib_lookup_cube6
color "mib_lookup_cube6" (
    vector          "point",
    vector          "dir",
    vector          "size",
    color texture   "tex_mx",
    color texture   "tex_px",
    color texture   "tex_my",
    color texture   "tex_py",
    color texture   "tex_mz",
    color texture   "tex_pz")
point
ビューの位置です。

dir
サンプリングする方向です。mib_texture_vector に接続されている場合は、選択する値を -10 にすると便利です。これがヌル ベクトルである場合は、レイの方向が使用されます。

size
ボックスのサイズです。

tex
計算された座標をルックアップするテクスチャです。1 つのテクスチャには合計 6 つの側面があります。1 つの面に必要なスキャンラインの数は 6 倍になり、サブテクスチャは上から下へ -x、+x、-y、+y、-z、+z の順にスタックされます。

tex_**
左(mx)、右(px)、下(my)、上(py)、奥(mz)、手前(pz)の各面です。「p」は正(plus)、「m」は負(minus)を表します。

シリンダ環境

この環境シェーダは、規則的なパターンをジオメトリ上に投影する場合(サーフェス品質のコントロールなど)に非常に便利です。円柱にはキャップがないので、レイが円柱に当たらない可能性もあります。円柱の定義は、ワールド空間から標準円柱空間への変換によって行われ、円柱の一部を切り取るスカラーが 2 つ使用されます。begin および end がいずれもゼロの場合は、円柱全体が選択されます。

mib_lookup_cylindrical
color "mib_lookup_cylindrical" (
    transform       "xform",
    scalar          "begin",
    scalar          "end",
    color texture   "tex" )
xform
ワールド空間から標準円柱空間に変換します。準円柱は、Z 軸を主軸とし、Z 軸上で -1 から +1 までの長さ、半径は 1 です。tex がプロシージャ テクスチャである場合は、テクスチャ座標は交差ポイントについて計算され、Z = -1v = 0 に、Z = +1 v = 1 にマッピングされます。u のテクスチャ座標の計算は Z 軸を中心として行われ、+X u = 0 に、-X は 0.5 にマッピングされます。

begin
円柱の開始位置の開始角度をラジアンで指定します。角度の指定は、+X = 0 ラジアンに基づいて行います。

end
円柱のボディが終了する位置の終了角度を指定します。

tex
計算された座標をルック アップするテクスチャまたはシェーダです。

バックグラウンド

あるテクスチャ シェーダをシーンのバックグラウンドに配置する場合に、テクスチャのエッジがレンダリング後のイメージのエッジに揃うように配置します。テクスチャの伸長およびパンに係数を適用することもでき、レイが中央から逸れるようなレンズに対応します。この環境の目的は、バックグラウンド プレートの挿入です。カラーを返します。以下の 3 種類のシェーダで使用すると便利です。

mib_lookup_background
color "mib_lookup_background" (
    vector          "zoom",
    vector          "pan",
    boolean         "torus_u",
    boolean         "torus_v",
    color texture   "tex")
zoom
ズーム ベクトルの X 成分および Y 成分によって指定される係数を使用してテクスチャ座標を拡大します。Z 成分は使用されません。成分が 0 の場合は、既定で 1 になります。

pan
レンダリング後のイメージサイズのフラクションの分だけテクスチャを横にずらします。Z 成分は使用されません。たとえば、X 成分が 0.1 である場合は、レンダリング後のイメージのバックグラウンドの左 10 %は黒くなります。

torus_*
true の場合は、テクスチャをそれぞれの方向に無限に繰り返します。false の場合は、テクスチャ イメージの外側に透明な黒が繰り返し表示されます。

tex
計算された座標をルック アップするテクスチャまたはシェーダです。範囲 [0 ... 1) の内部でのみサンプリングされます。


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