これらのシェーダは、これまでに説明したテクスチャ空間マッピング機能のいずれかを使用して coord テクスチャ頂点を作成し、この頂点のカラーを作成します。2D マッピングを作成するシェーダは、テクスチャ頂点の x 成分および y 成分のみを使用します。
これらのシェーダのほとんどはカラーを返します。カラーは他のシェーダのスカラー パラメータに割り当てることができるので、マップ スカラーに基づいてカラースプレッドからカラーを選択するブレンドシェーダをこれらのシェーダを組み合わせて使用することができます。この場合は、テクスチャシェーダの減衰パラメータおよびスムージングパラメータと相互作用します。
ハーフ オープンの間隔 [0, 1) にあるテクスチャイメージをルック アップします。この間隔の外部にあるポイントは R=G=B=A=0 にマッピングされます。
color "mib_texture_lookup" ( color texture "tex", vector "coord")
これは基本的にシェーダ インタフェース機能の mi_lookup_color_texture ファミリに対する前工程です。
color "mib_texture_lookup2" ( color texture "tex", scalar "factor")
mib_texture_lookup の代替です。接続されたパラメータとして取得せずに、状態内のテクスチャ座標の最初のセットを使用します。
楕円フィルタリングを使用してテクスチャ イメージをルックアップします。
color "mib_texture_filter_lookup" ( color texture "tex", vector "coord", scalar "eccmax", scalar "maxminor", scalar "disc_r", boolean "bilinear", integer "space", shader "remap")
シェーダは指定された space パラメータを使用して mi_texture_filter_project を呼び出すことにより、ラスタ空間およびテクスチャ空間の 3 つの対応するポイントを取得します。これらの 3 つのテクスチャ座標は、指定された remap シェーダを呼び出すことによって再マッピングされ、再マッピングに使用する実際のテクスチャ座標は mi_call_shader_x の 4 番目の引数として渡されます(呼び出されるシェーダは mi_call_shader_x の 4 番目の引数を参照するように設計されている必要があります)。再マッピング シェーダは、シェーダ パラメータ内の指定されたテクスチャ座標ベクトルの代わりにこれを使用する必要があります。
フィルタリングによるテクスチャ ルックアップによって必要とされる投影変換行列は、3 つのラスタ空間座標および再マッピングされたテクスチャ空間座標を使用して mi_texture_filter_transform シェーダ インタフェース関数を呼び出すことによって計算されます。行列内の変換コンポーネントは coord に設定されます。投影変換は常に現在のラスタ位置について計算されますが、coord を使用してテクスチャ空間内の楕円を変換することも可能です。バンプマッピングで使用すると便利です。
これは基本的にシェーダインタフェース機能の mi_lookup_filter_color_texture ファミリに対する前工程です。楕円フィルタパラメータ bilinear は mib_texture_filter_lookup では false に設定され、circle_radius ではデフォルト値が使用されます。投影行列を正しく計算できない場合や、テクスチャがイメージではなくシェーダである場合や、反射レベルがゼロでない場合は、フィルタリングされていないテクスチャルックアップが使用されます。
単位立方体を 8 個の副立方体に分割し、それぞれを個別の RGBA カラーにします。左、下、正面のパーツの幅はプログラム可能なため、このシェーダを使用してストライプや 2D または 3D のチェッカーボードを生成することができます。この機能は、シェーダボール シーンのプレビューにも使用できます。
color "mib_texture_checkerboard" ( vector "coord", scalar "xsize", scalar "ysize", scalar "zsize", color "color000", color "color001", color "color010", color "color011", color "color100", color "color101", color "color110", color "color111")
単位正方形に直径をプログラム可能なディスクを描画し、単位立方体に直径をプログラム可能な球体を描画します。フォアグアラウンド カラーおよびバックグラウン ドカラーはプログラム可能です。
color "mib_texture_polkadot" ( vector "coord", scalar "radius", color "fgcolor", color "bgcolor")
color "mib_texture_polkasphere" ( vector "coord", scalar "radius", color "fgcolor", color "bgcolor")
単位立方体に乱気流のスカラー パターンを作成します。1 つ、2 つ、または 3 つすべてのテクスチャ ベクトル コンポーネントが極座標で計算され、球体マッピングが行われます。
scalar "mib_texture_turbulence" ( vector "coord", scalar "spacing", scalar "strength", scalar "power", integer "iteration", integer "polar_dim")
それぞれの振幅をプログラミング可能な、U、V、W の各方向における余弦波を作成します (周波数およびオフセットは、テクスチャ再マッピング ベース シェーダを使用してコントロールします)。結果はグレースケール カラー(R=G=B=A)であり、カラーマップ ベース シェーダを使用して再マッピングできます。振幅の合計を s、オフセットを o とすると、範囲は [o-s ... o+s] になります。
color "mib_texture_wave" ( vector "coord", scalar "amplitude_x", scalar "amplitude_y", scalar "amplitude_z", scalar "offset")
Copyright © 1986-2009 by mental images GmbH