本文整理汇总了C++中BSDF::num_bxdfs方法的典型用法代码示例。如果您正苦于以下问题:C++ BSDF::num_bxdfs方法的具体用法?C++ BSDF::num_bxdfs怎么用?C++ BSDF::num_bxdfs使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BSDF
的用法示例。
在下文中一共展示了BSDF::num_bxdfs方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: get_bsdf
BSDF* MixMaterial::get_bsdf(const DifferentialGeometry &dg, MemoryPool &pool) const {
//Get the BSDFs from the materials we're mixing and scale their component BxDFs to
//create a new BSDF that combines the two
BSDF *bsdf = pool.alloc<BSDF>(dg);
Colorf s = scale->sample(dg).normalized();
BSDF *a = mat_a->get_bsdf(dg, pool);
for (int i = 0; i < a->num_bxdfs(); ++i){
bsdf->add(pool.alloc<ScaledBxDF>((*a)[i], s));
}
BSDF *b = mat_b->get_bsdf(dg, pool);
for (int i = 0; i < b->num_bxdfs(); ++i){
bsdf->add(pool.alloc<ScaledBxDF>((*b)[i], 1 - s));
}
return bsdf;
}