18 const uint32_t path_flag)
26 sd->closure_transparent_extinction += weight;
30 for (
int i = 0;
i < sd->num_closure;
i++) {
35 sc->sample_weight += sample_weight;
47 sd->num_closure_left = 1;
55 bsdf->sample_weight = sample_weight;
59 sd->num_closure_left = 0;
CCL_NAMESPACE_BEGIN ccl_device ccl_private ShaderClosure * closure_alloc(ccl_private ShaderData *sd, const uint size, ClosureType type, Spectrum weight)
CCL_NAMESPACE_BEGIN ccl_device void bsdf_transparent_setup(ccl_private ShaderData *sd, const Spectrum weight, const uint32_t path_flag)
ccl_device int bsdf_transparent_sample(const ccl_private ShaderClosure *, const float3, const float3 wi, ccl_private Spectrum *eval, ccl_private float3 *wo, ccl_private float *pdf)
ccl_device Spectrum bsdf_transparent_eval(const ccl_private ShaderClosure *, const float3, const float3, ccl_private float *pdf)
#define CCL_NAMESPACE_END
#define CLOSURE_WEIGHT_CUTOFF
@ CLOSURE_BSDF_TRANSPARENT_ID