環境
これらのシェーダは、有限距離または無限距離にマッピングされたカラー テクスチャからカラーを返します。レンダリング後のシーンにバックグラウンド プレートまたはフォアグラウンド プレートを追加する場合に使用すると便利です。環境は環境シェーダに使用し、オーバーレイはレンズ シェーダに使用し、テクスチャは平面またはシーン内のその他のオブジェクトのテクスチャ シェーダまたはマテリアル シェーダに使用しなければなりません。
球体環境
テクスチャシェーダを指定し、作成されるテクスチャがシーンの周囲の無限球体にラップされている場合は、テクスチャを評価してカラーを返します。環境シェーダに使用すると便利です。
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 です。ex がプロシージャ テクスチャである場合は、テクスチャ座標は交差ポイントについて計算され、Z = -1 は v = 0 に、Z = +1 は v = 1 にマッピングされます。u のテクスチャ座標の計算は Z 軸を中心として行われ、+X は u = 0 に、-X は 0.5 にマッピングされます。
- begin
- シリンダの開始位置の開始角度をラジアンで指定します。角度の指定は、+X = 0 ラジアンに基づいて行います。
- end
- シリンダのボディが終了する位置の終了角度を指定します。
- tex
- 計算された座標をルック アップするテクスチャまたはシェーダです。
バックグラウンド
あるテクスチャ シェーダをシーンのバックグラウンドに配置する場合に、テクスチャのエッジがレンダリング後のイメージのエッジに揃うように配置します。テクスチャの伸長およびパンに係数を適用することもでき、レイが中央から逸れるようなレンズに対応します。この環境の目的は、バックグラウンド プレートの挿入です。カラーを返します。以下の 3 種類のシェーダで使用すると便利です。
- 環境シェーダでは、無制限にバックグラウンドを配置できます。
- レンズ シェーダでは、先にバックグラウンド シェーダを評価したうえで、返されたアルファが 1 よりも小さい場合にのみ視点からのレイを投影し、結果をブレンドすることによって、シーン全体の手前にバックグラウンド プレートを配置することができます。
- シーン内の XY 軸上で位置合わせされた平面上のマテリアル シェーダは、先にバックグラウンド シェーダを評価した場合には平面の Z 軸の位置にバックグラウンド プレートを挿入し、返されたアルファが 1 よりも小さい場合にのみ透明度のレイを投影し、結果をブレンドします。
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-2009 by mental images GmbH