Since | 18.0 |
bsdf ggx(vector ng, vector nn, vector xg, vector yg, vector F0, vector F90, float alphax, float alphay, int masking, int fresblend, float eta, float reflect, float refract, int reflectmask, int refractmask, float dispersion, ...)
GGXマイクロファセットモデルを計算するためのBSDFを作成します。 このBSDFは、粗いスペキュラー反射と屈折に使用されます。
BSDFに関する情報はPBRシェーダの書き方を参照してください。
ng
正規化されたジオメトリ法線を指定します。
nn
正規化されたバンプ/シェーディング法線を指定します。
xg
正規化されたX接線ベクトルを指定します。
yg
正規化されたY接線ベクトルを指定します。
F0
斜角(接平面と入射光線がなす角が0度)での色味。
F90
グレージング角(接平面と入射光線がなす角が90度)での色味。
alphax
X接線ベクトルに沿った粗さ。
alphay
Y接線ベクトルに沿った粗さ(等方性に関してはalphax
と同じ値を使用します)。
masking
マイクロファセットのマスキングを有効/無効にします。
fresblend
0 = フレネルを無効にします。1 = フレネルを有効にします。2 = 臨界角を使用して反射と屈折を選択します。
eta
屈折率。
reflect
反射に対する明示的なスカラー値(0->1)。 -1を指定すると、この関数が自動的にジオメトリ情報に基づいて適切な値を決定します。
refract
屈折に対する明示的なスカラー値(0->1)。 -1を指定すると、この関数が自動的にジオメトリ情報に基づいて適切な値を決定します。
reflectmask
必要とする反射の挙動を表現したビットマスク。
ここにはbouncemask(reflectlabel)
を渡すだけで十分でしょう。
refractmask
必要とする屈折の挙動を表現したビットマスク。
ここにはbouncemask(refractlabel)
を渡すだけで十分でしょう。
dispersion
分散量。
ライトの包含/除外オプション ¶
"categories
",
string
="*"
“category”タグによって包含/除外するライトを指定します。
これによって決まる包含/除外するライトは、lightmask
キーワード引数でパターンマッチングしたライト名よりも優先度が高いです。
例:
diff = diffuse(nml, "lightmask", "hero | fill");
詳細は、ライトカテゴリを参照してください。
"lightmask
",
string
="*"
lightとshadowのシェーダを評価する時、オブジェクトはライトマスクを事前定義します。 このマスクは、通常ではジオメトリオブジェクトで指定し、surfaceやfogのシェーダを照明するために使用するライトのリストを指定します。 “lightmask”引数を指定することで、デフォルトのライトマスクを上書きすることができます。
例:
diff = diffuse(nml, "lightmask", "light*,^light2");
…これは、名前が“light”で始まる“light2”以外のライトすべてが拡散反射光の照明で考慮されます。
すべてのHoudiniスコープのパターン(グループ展開を除く)がサポートされています:
-
*
- ワイルドカードに一致。 -
?
- 任意の1文字に一致。 -
^
- 一致するものを排除。 -
[list]
- 文字リストに一致。
See also | |
bsdf |
|
pbr |
|
shading |
|