On this page |
int teximport(string map, string attribute, <type>&value)
単一値を返します。成功すれば1
、失敗すれば0
を返します。
int teximport(string map, string token, int|string&values[])
配列内の文字列の数を返します。
それらの値を取り込むことができなかった場合、values
が書き込まれずに初期化されないままになります。
この関数は、画像ファイルに記録されているメタデータを照会し、ほとんどのテクスチャフォーマットに対応しています。
カメラやライトのvm_saveoptions
Houdiniプロパティを使って保存されるプロパティを選択することができます(IFDのimage:saveoptions
)。
しかし、デフォルトはおそらく、あなたが欲しい情報すべてを含んでいます。
レンダリングプロパティを参照してください。
検索可能なアトリビュート ¶
常に検索可能な汎用アトリビュートをいくつか載せます:
int texture:xres
テクスチャマップのX解像度。
int texture:yres
テクスチャマップのY解像度。
int texture:channels
テクスチャマップ内のチャンネルの数。
vector texture:resolution
vectorによるテクスチャの解像度(xres, yres, channels)
。
matrix texture:worldtoview
ワールド空間ポイントをカメラ空間ポイントに変換するトランスフォームマトリックスです。これは画像の生成に使われます。
matrix texture:projection
カメラの投影マトリックスを表現したトランスフォームマトリックスです。これは画像の生成に使われます。
matrix texture:worldtondc
ワールド空間ポイントをカメラのNDC(Normalized Device Coordinates)空間ポイントに変換するトランスフォームマトリックスです。これは画像の生成に使われます。 ポイントは同次座標で生成されます。つまり、0から1の範囲の値を取得するには、以下のように記述します:
matrix ndc; if (teximport(map, "texture:worldtoNDC", ndc)) { vector P_ndc = pos * ndc; // カメラがパースペクティブカメラなら、 // そのポイントを異次化します。 if (getcomp(ndc, 2, 3) != 0) { P_ndc.x = P_ndc.x / P_ndc.z; P_ndc.y = P_ndc.y / P_ndc.z; } // 最終的には、[-1,1]から[0,1]までXYをスケールしてオフセットします。 P_ndc *= {.5, .5, 1}; P_ndc += {.5, .5, 0}; }
string texture:tokens
検索可能なアトリビュート名すべてをスペース区切りにしたリスト。
string &values[]
バージョンの関数は、以下のアトリビュートを検索することができます
texture:channelnames
ラスター平面チャンネル名すべてのリスト。
texture:channelsize
これは、各画像チャンネル内のfloatの数値の配列を返します。
texture:channelstorage
これは、各チャンネルに対して大元のストレージタイプの文字列(つまり、“uint8”または“real16”)の配列を返します。
texture:channelcolorspace
各チャンネルに関連付けられているカラー空間の配列。
texture:tokens
teximport()
で理解されるビルトインのトークンすべてのリスト。
string texture:device
テクスチャの評価で使用されるデバイス。指定可能な値:
-
native
- ビルトインのHoudiniテクスチャエンジンを使用して評価されます。 -
oiio
- OpenImageIOを使用して評価されます。 -
ptex
- Ptexを使用して評価されます。
string: texture:colorspace
これは、テクスチャライブラリがデフォルトで使用するカラー空間です。
つまり、srccolorspace
キーワード引数が指定されなかった場合に使用されるカラー空間です。
string: texture:swrap
一部のテクスチャフォーマットには、テクスチャ座標のデフォルトのラップモードが指定されたメタデータが格納されています。 このキーは、s座標におけるラッピングモードをそのメタデータの値から照会します(メタデータがなければ、空っぽの文字列)。
string: texture:twrap
一部のテクスチャフォーマットには、テクスチャ座標のデフォルトのラップモードが指定されたメタデータが格納されています。 このキーは、t座標におけるラッピングモードをそのメタデータの値から照会します(メタデータがなければ、空っぽの文字列)。
Examples ¶
cvex test(string map="Mandril.rat") { for (string token : { "texture:xres", "texture:yres", "texture:channels", "texture:resolution", "texture:tokens", "image:pixelaspect", "space:world" }) { float fval; vector vval; matrix mval; printf("----------------- %s ---------------------\n", token); if (teximport(map, token, fval)) printf("'%s' = %g\n", token, fval); else if (teximport(map, token, vval)) printf("'%s' = %g\n", token, vval); else if (teximport(map, token, mval)) printf("'%s' = %g\n", token, mval); } }
See also | |
file | |
map | |
shading |
|