|
Blender
V2.93
|
Go to the source code of this file.
Classes | |
| struct | PrincipledDiffuseBsdf |
Functions | |
| ccl_device float3 | calculate_principled_diffuse_brdf (const PrincipledDiffuseBsdf *bsdf, float3 N, float3 V, float3 L, float3 H, float *pdf) |
| ccl_device int | bsdf_principled_diffuse_setup (PrincipledDiffuseBsdf *bsdf) |
| ccl_device bool | bsdf_principled_diffuse_merge (const ShaderClosure *a, const ShaderClosure *b) |
| ccl_device float3 | bsdf_principled_diffuse_eval_reflect (const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) |
| ccl_device float3 | bsdf_principled_diffuse_eval_transmit (const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) |
| ccl_device int | bsdf_principled_diffuse_sample (const ShaderClosure *sc, float3 Ng, float3 I, float3 dIdx, float3 dIdy, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) |
Variables | |
| CCL_NAMESPACE_BEGIN typedef ccl_addr_space struct PrincipledDiffuseBsdf | PrincipledDiffuseBsdf |
| ccl_device float3 bsdf_principled_diffuse_eval_reflect | ( | const ShaderClosure * | sc, |
| const float3 | I, | ||
| const float3 | omega_in, | ||
| float * | |||
| ) |
Definition at line 72 of file bsdf_principled_diffuse.h.
References calculate_principled_diffuse_brdf(), dot(), fmaxf, H, I, L, M_1_PI_F, make_float3, N, normalize(), and V.
Referenced by bsdf_eval().
| ccl_device float3 bsdf_principled_diffuse_eval_transmit | ( | const ShaderClosure * | sc, |
| const float3 | I, | ||
| const float3 | omega_in, | ||
| float * | |||
| ) |
Definition at line 94 of file bsdf_principled_diffuse.h.
References make_float3.
Referenced by bsdf_eval().
| ccl_device bool bsdf_principled_diffuse_merge | ( | const ShaderClosure * | a, |
| const ShaderClosure * | b | ||
| ) |
Definition at line 64 of file bsdf_principled_diffuse.h.
References Freestyle::a, isequal_float3(), and PrincipledDiffuseBsdf::roughness.
Referenced by bsdf_merge().
| ccl_device int bsdf_principled_diffuse_sample | ( | const ShaderClosure * | sc, |
| float3 | Ng, | ||
| float3 | I, | ||
| float3 | dIdx, | ||
| float3 | dIdy, | ||
| float | randu, | ||
| float | randv, | ||
| float3 * | eval, | ||
| float3 * | omega_in, | ||
| float3 * | domega_in_dx, | ||
| float3 * | domega_in_dy, | ||
| float * | |||
| ) |
Definition at line 102 of file bsdf_principled_diffuse.h.
References calculate_principled_diffuse_brdf(), dot(), H, I, LABEL_DIFFUSE, LABEL_REFLECT, N, normalize(), and sample_cos_hemisphere().
Referenced by bsdf_sample().
| ccl_device int bsdf_principled_diffuse_setup | ( | PrincipledDiffuseBsdf * | bsdf | ) |
Definition at line 58 of file bsdf_principled_diffuse.h.
References CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID, SD_BSDF, and SD_BSDF_HAS_EVAL.
Referenced by bssrdf_setup(), subsurface_scatter_setup_diffuse_bsdf(), and svm_node_closure_bsdf().
| ccl_device float3 calculate_principled_diffuse_brdf | ( | const PrincipledDiffuseBsdf * | bsdf, |
| float3 | N, | ||
| float3 | V, | ||
| float3 | L, | ||
| float3 | H, | ||
| float * | |||
| ) |
Definition at line 36 of file bsdf_principled_diffuse.h.
References dot(), H, L, M_1_PI_F, make_float3, max, N, PrincipledDiffuseBsdf::roughness, schlick_fresnel(), and V.
Referenced by bsdf_principled_diffuse_eval_reflect(), and bsdf_principled_diffuse_sample().