|
Blender
V3.3
|
Go to the source code of this file.
Classes | |
| struct | Bssrdf |
Macros | |
| #define | BURLEY_TRUNCATE 16.0f |
| #define | BURLEY_TRUNCATE_CDF 0.9963790093708328f |
Typedefs | |
| typedef CCL_NAMESPACE_BEGIN struct Bssrdf | Bssrdf |
| typedef CCL_NAMESPACE_BEGIN struct Bssrdf Bssrdf |
| ccl_device_inline ccl_private Bssrdf* bssrdf_alloc | ( | ccl_private ShaderData * | sd, |
| float3 | weight | ||
| ) |
Definition at line 259 of file bssrdf.h.
References average(), bssrdf(), ccl_private, 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 101 of file bssrdf.h.
Referenced by bssrdf_burley_setup().
| ccl_device float bssrdf_burley_eval | ( | const float | d, |
| float | r | ||
| ) |
Definition at line 118 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 138 of file bssrdf.h.
References bssrdf_burley_eval(), BURLEY_TRUNCATE_CDF, and r.
Referenced by bssrdf_eval().
| ccl_device_forceinline float bssrdf_burley_root_find | ( | float | xi | ) |
| ccl_device void bssrdf_burley_sample | ( | const float | d, |
| float | xi, | ||
| ccl_private float * | r, | ||
| ccl_private float * | h | ||
| ) |
Definition at line 187 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 | ( | ccl_private Bssrdf * | bssrdf | ) |
Definition at line 106 of file bssrdf.h.
References A, bssrdf(), bssrdf_burley_compatible_mfp(), bssrdf_burley_fitting(), l, and make_float3.
| ccl_device float bssrdf_dipole_compute_alpha_prime | ( | float | rd, |
| float | fourthirdA | ||
| ) |
Definition at line 27 of file bssrdf.h.
References bssrdf_dipole_compute_Rd().
Referenced by bssrdf_setup_radius().
| ccl_device float bssrdf_dipole_compute_Rd | ( | float | alpha_prime, |
| float | fourthirdA | ||
| ) |
Definition at line 21 of file bssrdf.h.
Referenced by bssrdf_dipole_compute_alpha_prime().
| ccl_device_forceinline float3 bssrdf_eval | ( | const float3 | radius, |
| float | r | ||
| ) |
Definition at line 244 of file bssrdf.h.
References bssrdf_burley_pdf(), make_float3, r, float3::x, float3::y, and float3::z.
Referenced by bssrdf_pdf(), and subsurface_disk_eval().
| ccl_device float bssrdf_num_channels | ( | const float3 | radius | ) |
Definition at line 201 of file bssrdf.h.
References channels(), float3::x, float3::y, and float3::z.
Referenced by bssrdf_pdf(), and bssrdf_sample().
| ccl_device_forceinline float bssrdf_pdf | ( | const float3 | radius, |
| float | r | ||
| ) |
Definition at line 251 of file bssrdf.h.
References bssrdf_eval(), bssrdf_num_channels(), r, float3::x, float3::y, and float3::z.
Referenced by subsurface_disk_eval().
| ccl_device void bssrdf_sample | ( | const float3 | radius, |
| float | xi, | ||
| ccl_private float * | r, | ||
| ccl_private float * | h | ||
| ) |
Definition at line 216 of file bssrdf.h.
References bssrdf_burley_sample(), bssrdf_num_channels(), r, float3::x, float3::y, and float3::z.
Referenced by subsurface_disk().
| ccl_device int bssrdf_setup | ( | ccl_private ShaderData * | sd, |
| ccl_private Bssrdf * | bssrdf, | ||
| ClosureType | type, | ||
| const float | ior | ||
| ) |
Definition at line 273 of file bssrdf.h.
References average(), bsdf_alloc(), bsdf_diffuse_setup(), bsdf_principled_diffuse_retro_reflection_sample_weight(), bsdf_principled_diffuse_setup(), bssrdf(), BSSRDF_MIN_RADIUS, bssrdf_setup_radius(), ccl_private, fabsf, usdtokens::ior(), make_float3, PRINCIPLED_DIFFUSE_LAMBERT, PRINCIPLED_DIFFUSE_RETRO_REFLECTION, SD_BSSRDF, type, float3::x, float3::y, and float3::z.
Referenced by CBSSRDFClosure::alloc(), and svm_node_closure_bsdf().
| ccl_device void bssrdf_setup_radius | ( | ccl_private Bssrdf * | bssrdf, |
| const ClosureType | type, | ||
| const float | eta | ||
| ) |
Definition at line 56 of file bssrdf.h.
References bssrdf(), bssrdf_dipole_compute_alpha_prime(), CLOSURE_BSSRDF_BURLEY_ID, CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID, M_1_PI_F, make_float3, one_float3(), sqrt(), and type.
Referenced by bssrdf_setup().