データ変換

カラーからグレースケールへ

アルファ コンポーネントを抽出する、RGB を平均化する、緑を強調して赤を弱める生理学的に基づくカラー モデルに従って RGB をウェイト付ける、のいずれかの方法でカラーを RGBA グレースケールに変換します。結果となるグレースケール値は、スカラーとして使用することもできます。返される R、G、B、A の各コンポーネントはすべて同じ値になります。

mib_color_alpha
    color "mib_color_alpha" (
        color           "input",
        scalar          "factor")
mib_color_average
    color "mib_color_average" (
        color           "input",
        scalar          "factor")
mib_color_intensity
    color "mib_color_intensity" (
        color           "input",
        scalar          "factor")
input
グレースケールに変換されるカラーです。
factor
結果に乗算される係数です。alpha、average、および intensity の値をそれぞれ正確に得るためには 1.0 に設定する必要があります。0 にすると input は評価されず、黒が返されます。

カラー マップ補間

スカラーまたはカラーを指定し、マルチカラー マップのルックアップおよび補間を行います。マップは最大 8 色のセット(配列ではない)です。実際のカラーの数はパラメータによって指定されます。

mib_color_interpolate
    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")
input
ルックアップするスカラーです。
num
カラー リスト内のカラーの数です。この値は最小で 1、最大で 8 です。
weight_*
カラー スプレッドにおけるカラー 1..6 の位置を指定します。0 の値は最も低い位置のカラー、1 の値は最も高い位置のカラーになります。ウェイトは一定の割合で増加していきます。カラー 0 のウェイトは常に 0、カラー num-1 のウェイトは常に 1 です。この 2 つの値の間のウェイトを指定する必要があります(つまりカラーよりも 2 少ない num-2 のウェイト)。
color_*
カラー スプレッドを指定します。最初の num カラーだけが定義されます。input が ≤ 0 である場合は color_0 だけが評価され、input が ≥ 1 である場合は color_(num-1) だけが評価されます。input が数値精度の範囲内でウェイトとまったく等しい場合は、対応するカラーだけが評価されます。その他のすべての場合は、2 つの隣り合ったカラーだけが評価され、補間されます。

Mix(混合)

ベース カラーおよび最大 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 は、プリマルチプライ処理がオフになっていない限り、フレーム バッファ内にカラーを格納するときにアルファを補正します。

mib_color_mix
    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")
num
有効な入力の数です。最小は 1、最大は 8 です。
mode_*
すでに説明した合成モードです。
weight_*
すでに説明した合成ウェイト w です。
color_*
すでに説明した合成後のカラー B です。
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 はスカラーをグレースケール カラーに変換する場合に使用します。

mib_color_spread
    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")
num
計算する有効な出力の数です。最小は 1、最大は 8 です。
mode_*
すでに説明したモード mode です。
weight_*
すでに説明したウェイト w です。

Copyright © 1986-2009 by mental images GmbH