アルファ コンポーネントだけを取り出すか、RGB を平均するか、緑を強調して赤を差し引いて表現する生理学的なカラー モデルによって RGB をウェイト付けするかして、カラーを RGBA グレースケールに変換します。その結果得られるグレースケールの値はスカラー量としても使用できます。返される R、G、B、および A の要素は同一の値を持ちます。
color "mib_color_alpha" (
color "input",
scalar "factor")
color "mib_color_average" (
color "input",
scalar "factor")
color "mib_color_intensity" (
color "input",
scalar "factor")
スカラー量またはカラーを与えると、マルチカラー マップのルックアップと補間を実行します。マップは最大 8 つのカラーの集合です(配列ではない)。実際のカラー数はパラメータで指定します。
color "mib_color_interpolate" (
scalar "input",
integer "num",
scalar "weight_1",
scalar "weight_2",
scalar "weight_3",
scalar "weight_4",
scalar "weight_5",
scalar "weight_6",
color "color_0",
color "color_1",
color "color_2",
color "color_3",
color "color_4",
color "color_5",
color "color_6",
color "color_7")
ベース カラーおよび最大 8 の入力(正確な数はパラメータによって決定されます)を受け入れます。入力は入力カラー、ウェイト スカラー、モードで構成されます。入力は連続して評価され、それぞれが直前の入力の結果に基づいて動作します(最初の入力はベース カラー(既定で透明な黒)を使用します)。以下のモードがサポートされます。
| mode | 動作 | 計算 |
|---|---|---|
| 0 | Blend (ブレンド) | R = A·(1−Ba)·w + B·w |
| 1 | Mix (混合) | R = A·(1−w) + B·w |
| 2 | Add (加算) | R = A + B·w |
| 3 | Bounded Add (範囲つき加算) | R = bound (A + B·w, 0, 1) |
| 4 | Multiply (乗算) | R = A·B·w |
| 5 | Bounded Multiply (範囲つき乗算) | R = bound (A·B·w, 0, 1) |
| 6 | Replace Alpha (アルファの置き換え) | Rrgb = Argb; Ra = Ba |
R は次の結果、A は直前の結果、B は現在のカラー、w は現在のウェイトです。添え字の r、g、b、a はそれぞれ赤、緑、青、アルファの各コンポーネントです。モード 6 では結果となるアルファ値が正しい(赤、緑、青よりも大きくなっている)ことが確認されないことに注意してください。mental ray は、プリマルチプライ処理がオフになっていない限り、フレーム バッファ内にカラーを格納するときにアルファを補正します。
color "mib_color_mix" (
integer "num",
integer "mode_0",
integer "mode_1",
integer "mode_2",
integer "mode_3",
integer "mode_4",
integer "mode_5",
integer "mode_6",
integer "mode_7",
scalar "weight_0",
scalar "weight_1",
scalar "weight_2",
scalar "weight_3",
scalar "weight_4",
scalar "weight_5",
scalar "weight_6",
scalar "weight_7",
color "color_0",
color "color_1",
color "color_2",
color "color_3",
color "color_4",
color "color_5",
color "color_6",
color "color_7",
color "color_base")
1 つのカラー入力を最大 8 個のカラー出力に展開します(正確な数はパラメータによって決定されます)。個々の出力は、対応する入力にウェイトを乗算し、指定された変換を行ったものに等しくなります。計算式は以下のようになります。
| mode | 動作 | 計算 |
|---|---|---|
| 0 | ウェイト付けされたカラー | R = w·A |
| 1 | アルファからのグレースケール カラー | Rrgba = w·Aa |
| 2 | 平均強度からのグレースケール カラー | Rrgba = w·(Ar+Ag+Ab) ⁄ 3 |
| 3 | ウェイト付けされた強度からのグレースケール カラー | Rrgba = w·(0.299·Ar+ 0.587·Ag+ 0.114·Ab) |
| 4 | 赤のコンポーネントからのグレースケール カラー | Rrgba = w·Ar |
R は現在の(最大 8 個の中の 1 つ)結果、w は現在のウェイト、mode は現在の変換、A はすべての出力によって共有される入力カラーです。モード 4 はスカラーをグレースケール カラーに変換する場合に使用します。
struct {
color "out_0",
color "out_1",
color "out_2",
color "out_3",
color "out_4",
color "out_5",
color "out_6",
color "out_7"
} "mib_color_spread" (
color "input",
integer "num",
integer "mode_0",
integer "mode_1",
integer "mode_2",
integer "mode_3",
integer "mode_4",
integer "mode_5",
integer "mode_6",
integer "mode_7",
color "weight_0",
color "weight_1",
color "weight_2",
color "weight_3",
color "weight_4",
color "weight_5",
color "weight_6",
color "weight_7")
Copyright © 1986, 2015 NVIDIA ARC GmbH. All rights reserved.