20static_assert(
sizeof(ShaderClosure) >=
sizeof(
DiffuseBsdf),
"DiffuseBsdf is too large!");
57 if (
dot(Ng, *wo) > 0.0f) {
102 if (
dot(Ng, *wo) < 0) {
ccl_device Spectrum bsdf_diffuse_eval(const ccl_private ShaderClosure *sc, const float3, const float3 wo, ccl_private float *pdf)
ccl_device Spectrum bsdf_translucent_eval(const ccl_private ShaderClosure *sc, const float3, const float3 wo, ccl_private float *pdf)
ccl_device int bsdf_diffuse_sample(const ccl_private ShaderClosure *sc, const float3 Ng, const float3, const float2 rand, ccl_private Spectrum *eval, ccl_private float3 *wo, ccl_private float *pdf)
ccl_device int bsdf_translucent_setup(ccl_private DiffuseBsdf *bsdf)
ccl_device int bsdf_diffuse_setup(ccl_private DiffuseBsdf *bsdf)
ccl_device int bsdf_translucent_sample(const ccl_private ShaderClosure *sc, const float3 Ng, const float3, const float2 rand, ccl_private Spectrum *eval, ccl_private float3 *wo, ccl_private float *pdf)
dot(value.rgb, luminance_coefficients)") DEFINE_VALUE("REDUCE(lhs
#define CCL_NAMESPACE_END
@ CLOSURE_BSDF_DIFFUSE_ID
@ CLOSURE_BSDF_TRANSLUCENT_ID
@ SD_BSDF_HAS_TRANSMISSION
ccl_device_inline void sample_cos_hemisphere(const float3 N, const float2 rand_in, ccl_private float3 *wo, ccl_private float *pdf)