跳转到内容

eval_bsdf

本页内容* 可变参数 * 示例

vector  eval_bsdf(bsdf b, vector viewer, vector light, ...)

vector  eval_bsdf(bsdf b, vector viewer, vector light, int mask, ...)

vector  eval_bsdf(bsdf b, vector viewer, vector light, float &pdf, int mask, ...)

vector  eval_bsdf(bsdf b, vector viewer, vector light, vector normal, ...)

vector  eval_bsdf(bsdf b, vector viewer, vector light, vector normal, int mask, ...)

vector  eval_bsdf(bsdf b, vector viewer, vector light, vector normal, float &pdf, int mask, ...)

b

要评估的BSDF。

viewer

指向观察者的向量。

light

指向光源的向量。

normal

表面法线。

mask

位掩码,指示要评估哪些类型的着色组件反弹。

有关组件标签位掩码的信息,请参见bouncemask

&pdf

该函数会用给定方向的PDF值(乘以反照率)覆盖此变量。

可变参数

variadic-arguments

eval_bsdf函数会将任何额外的"name", value参数对传递给被评估的BSDF。对于自定义BSDF,这些关键字参数会绑定到着色器参数(例如指示BSDF是用于直接照明还是间接照明评估)。BSDF也可以将信息传回给eval_bsdf。要表示关键字参数值应从BSDF导入,请在关键字前加上”import:”。

示例

examples

v = eval_bsdf(F, inI, dir,
"direct", 0, // 指定间接照明
"import:sssmfp", sssmfp, // 读取导出的sssmfp参数
...
);