|
Blender
V2.93
|
Go to the source code of this file.
Classes | |
| struct | Bssrdf |
Macros | |
| #define | GAUSS_TRUNCATE 12.46f |
| #define | BURLEY_TRUNCATE 16.0f |
| #define | BURLEY_TRUNCATE_CDF 0.9963790093708328f |
Variables | |
| CCL_NAMESPACE_BEGIN typedef ccl_addr_space struct Bssrdf | Bssrdf |
| ccl_device_inline Bssrdf* bssrdf_alloc | ( | ShaderData * | sd, |
| float3 | weight | ||
| ) |
Definition at line 332 of file bssrdf.h.
References average(), bssrdf(), closure_alloc(), CLOSURE_NONE_ID, CLOSURE_WEIGHT_CUTOFF, fabsf, and NULL.
Referenced by CBSSRDFClosure::alloc(), and svm_node_closure_bsdf().
| ccl_device_inline float3 bssrdf_burley_compatible_mfp | ( | float3 | r | ) |
Definition at line 205 of file bssrdf.h.
Referenced by bssrdf_burley_setup().
| ccl_device float bssrdf_burley_eval | ( | const float | d, |
| float | r | ||
| ) |
Definition at line 222 of file bssrdf.h.
References BURLEY_TRUNCATE, expf, and r.
Referenced by bssrdf_burley_pdf().
| ccl_device_inline float bssrdf_burley_fitting | ( | float | A | ) |
| ccl_device float bssrdf_burley_pdf | ( | const float | d, |
| float | r | ||
| ) |
Definition at line 242 of file bssrdf.h.
References bssrdf_burley_eval(), BURLEY_TRUNCATE_CDF, and r.
Referenced by bssrdf_channel_pdf().
| ccl_device_forceinline float bssrdf_burley_root_find | ( | float | xi | ) |
| ccl_device void bssrdf_burley_sample | ( | const float | d, |
| float | xi, | ||
| float * | r, | ||
| float * | h | ||
| ) |
Definition at line 287 of file bssrdf.h.
References bssrdf_burley_root_find(), BURLEY_TRUNCATE, BURLEY_TRUNCATE_CDF, r, and safe_sqrtf().
Referenced by bssrdf_sample().
| ccl_device void bssrdf_burley_setup | ( | Bssrdf * | bssrdf | ) |
Definition at line 210 of file bssrdf.h.
References A, bssrdf(), bssrdf_burley_compatible_mfp(), bssrdf_burley_fitting(), l, and make_float3.
Referenced by bssrdf_setup().
| ccl_device float bssrdf_channel_pdf | ( | const Bssrdf * | bssrdf, |
| float | radius, | ||
| float | r | ||
| ) |
Definition at line 462 of file bssrdf.h.
References bssrdf(), bssrdf_burley_pdf(), bssrdf_cubic_pdf(), bssrdf_gaussian_pdf(), CLOSURE_BSSRDF_CUBIC_ID, CLOSURE_BSSRDF_GAUSSIAN_ID, and r.
Referenced by bssrdf_eval().
| ccl_device float bssrdf_cubic_eval | ( | const float | radius, |
| const float | sharpness, | ||
| float | r | ||
| ) |
| ccl_device float bssrdf_cubic_pdf | ( | const float | radius, |
| const float | sharpness, | ||
| float | r | ||
| ) |
Definition at line 134 of file bssrdf.h.
References bssrdf_cubic_eval(), and r.
Referenced by bssrdf_channel_pdf().
| ccl_device_forceinline float bssrdf_cubic_quintic_root_find | ( | float | xi | ) |
Definition at line 140 of file bssrdf.h.
References fabsf, saturate(), x, and x2.
Referenced by bssrdf_cubic_sample().
| ccl_device void bssrdf_cubic_sample | ( | const float | radius, |
| const float | sharpness, | ||
| float | xi, | ||
| float * | r, | ||
| float * | h | ||
| ) |
Definition at line 167 of file bssrdf.h.
References bssrdf_cubic_quintic_root_find(), powf, r, and safe_sqrtf().
Referenced by bssrdf_sample().
| ccl_device_forceinline float3 bssrdf_eval | ( | const ShaderClosure * | sc, |
| float | r | ||
| ) |
Definition at line 479 of file bssrdf.h.
References bssrdf(), bssrdf_channel_pdf(), make_float3, and r.
Referenced by bssrdf_pdf(), and subsurface_scatter_eval().
| ccl_device float bssrdf_gaussian_eval | ( | const float | radius, |
| float | r | ||
| ) |
Definition at line 44 of file bssrdf.h.
References expf, GAUSS_TRUNCATE, M_PI_F, r, sqrtf, and v.
Referenced by bssrdf_gaussian_pdf().
| ccl_device float bssrdf_gaussian_pdf | ( | const float | radius, |
| float | r | ||
| ) |
Definition at line 57 of file bssrdf.h.
References bssrdf_gaussian_eval(), expf, GAUSS_TRUNCATE, and r.
Referenced by bssrdf_channel_pdf().
| ccl_device void bssrdf_gaussian_sample | ( | const float | radius, |
| float | xi, | ||
| float * | r, | ||
| float * | h | ||
| ) |
Definition at line 65 of file bssrdf.h.
References expf, GAUSS_TRUNCATE, logf, r, safe_sqrtf(), sqrtf, and v.
Referenced by bssrdf_sample().
| ccl_device float bssrdf_none_eval | ( | const float | radius, |
| float | r | ||
| ) |
| ccl_device float bssrdf_none_pdf | ( | const float | radius, |
| float | r | ||
| ) |
Definition at line 308 of file bssrdf.h.
References blender::compositor::area(), bssrdf_none_eval(), M_PI_F, and r.
| ccl_device void bssrdf_none_sample | ( | const float | radius, |
| float | xi, | ||
| float * | r, | ||
| float * | h | ||
| ) |
Definition at line 317 of file bssrdf.h.
References r, safe_sqrtf(), and sqrtf.
| ccl_device_forceinline float bssrdf_pdf | ( | const ShaderClosure * | sc, |
| float | r | ||
| ) |
Definition at line 488 of file bssrdf.h.
References bssrdf(), bssrdf_eval(), r, float3::x, float3::y, and float3::z.
Referenced by subsurface_scatter_eval().
| ccl_device void bssrdf_sample | ( | const ShaderClosure * | sc, |
| float | xi, | ||
| float * | r, | ||
| float * | h | ||
| ) |
Definition at line 425 of file bssrdf.h.
References bssrdf(), bssrdf_burley_sample(), bssrdf_cubic_sample(), bssrdf_gaussian_sample(), CLOSURE_BSSRDF_CUBIC_ID, CLOSURE_BSSRDF_GAUSSIAN_ID, and r.
Referenced by subsurface_scatter_disk().
| ccl_device int bssrdf_setup | ( | ShaderData * | sd, |
| Bssrdf * | bssrdf, | ||
| ClosureType | type | ||
| ) |
Definition at line 345 of file bssrdf.h.
References average(), bsdf_alloc(), bsdf_diffuse_setup(), bsdf_principled_diffuse_setup(), bssrdf(), bssrdf_burley_setup(), BSSRDF_MIN_RADIUS, CLOSURE_BSDF_BSSRDF_ID, CLOSURE_BSDF_BSSRDF_PRINCIPLED_ID, CLOSURE_BSSRDF_BURLEY_ID, CLOSURE_BSSRDF_PRINCIPLED_ID, CLOSURE_BSSRDF_PRINCIPLED_RANDOM_WALK_ID, CLOSURE_BSSRDF_RANDOM_WALK_ID, fabsf, make_float3, N, PrincipledDiffuseBsdf::roughness, usdtokens::roughness(), saturate(), SD_BSSRDF, type, float3::x, float3::y, and float3::z.
Referenced by CBSSRDFClosure::alloc(), and svm_node_closure_bsdf().
| CCL_NAMESPACE_BEGIN typedef ccl_addr_space struct Bssrdf Bssrdf |