[MaterialX] OpenPBR : color3やvector3の分解(Separate)と結合(Combine)

  • by

確認環境 : MaterialX 1.39.1

color3やvector3を要素ごとにfloatに分解したり、逆に複数のfloatを入力として使用してcolor3やvector3に結合したりできます。

分解 (Separate)

color3やvector3からそれぞれの要素を分解し、float値で取得します。

"separate3_color3"ノードを使うと、color3のRGB要素を分解できます。

"separate3_vector3"ノードを使うと、vector3のXYZ要素を分解できます。

これ以外に、vector2, color4, vector4も同様のSeparateが使えます。

結合 (Combine)

複数のfloat要素をcolor3やvector3に結合します。

"combine3_color3"ノードを使うと、floatを使ってcolor3のRGB要素に値を入れます。

"combine3_vector3"ノードを使うと、floatを使ってvector3のXYZ要素に値を入れます。

これ以外に、vector2, color4, vector4も同様のCombineが使えます(これ以外もある)。

floatからcolor3, vector3にコンバート

単一のfloat値を入力し、color3のRGB要素、vector3のXYZ要素に同じ値を指定するノードとして"convert_float_color3"、convert_float_vector3"があります。

"convert_float_color3"ノードを使うと、floatを使ってcolor3のRGBの各要素に同じ値を入れます。
inに0.5と指定した場合、"convert_float_color3"ノードのoutはRGB(0.5, 0.5, 0.5)となります。

"convert_float_vector3"ノードを使うと、floatを使ってvector3のXYZの各要素に同じ値を入れます。

これ以外に、vector2, color4, vector4も同様のconvert_float_xxxが使えます(これ以外もある)。