|
Blender V4.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 |
| #define BURLEY_TRUNCATE 16.0f |
Definition at line 93 of file bssrdf.h.
Referenced by bssrdf_burley_eval(), and bssrdf_burley_sample().
| #define BURLEY_TRUNCATE_CDF 0.9963790093708328f |
Definition at line 94 of file bssrdf.h.
Referenced by bssrdf_burley_pdf(), and bssrdf_burley_sample().
| typedef CCL_NAMESPACE_BEGIN struct Bssrdf Bssrdf |
| ccl_device_inline ccl_private Bssrdf * bssrdf_alloc | ( | ccl_private ShaderData * | sd, |
| Spectrum | weight ) |
Definition at line 265 of file bssrdf.h.
References average(), bssrdf(), ccl_private, closure_alloc(), CLOSURE_NONE_ID, CLOSURE_WEIGHT_CUTOFF, fabsf, and NULL.
Referenced by osl_closure_bssrdf_setup(), and svm_node_closure_bsdf().
| ccl_device_inline Spectrum bssrdf_burley_compatible_mfp | ( | Spectrum | r | ) |
Definition at line 104 of file bssrdf.h.
Referenced by bssrdf_burley_setup().
| ccl_device float bssrdf_burley_eval | ( | const float | d, |
| float | r ) |
Definition at line 123 of file bssrdf.h.
References BURLEY_TRUNCATE, and expf.
Referenced by bssrdf_burley_pdf().
| ccl_device_inline float bssrdf_burley_fitting | ( | float | A | ) |
Definition at line 96 of file bssrdf.h.
Referenced by bssrdf_burley_setup().
| ccl_device float bssrdf_burley_pdf | ( | const float | d, |
| float | r ) |
Definition at line 143 of file bssrdf.h.
References bssrdf_burley_eval(), and BURLEY_TRUNCATE_CDF.
Referenced by bssrdf_eval().
| ccl_device_forceinline float bssrdf_burley_root_find | ( | float | xi | ) |
Definition at line 156 of file bssrdf.h.
Referenced by bssrdf_burley_sample().
| ccl_device void bssrdf_burley_sample | ( | const float | d, |
| float | xi, | ||
| ccl_private float * | r, | ||
| ccl_private float * | h ) |
Definition at line 192 of file bssrdf.h.
References bssrdf_burley_root_find(), BURLEY_TRUNCATE, BURLEY_TRUNCATE_CDF, and safe_sqrtf().
Referenced by bssrdf_sample().
| ccl_device void bssrdf_burley_setup | ( | ccl_private Bssrdf * | bssrdf | ) |
Definition at line 109 of file bssrdf.h.
References bssrdf(), bssrdf_burley_compatible_mfp(), bssrdf_burley_fitting(), FOREACH_SPECTRUM_CHANNEL, GET_SPECTRUM_CHANNEL, and l.
| ccl_device float bssrdf_dipole_compute_alpha_prime | ( | float | rd, |
| float | fourthirdA ) |
Definition at line 31 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 25 of file bssrdf.h.
Referenced by bssrdf_dipole_compute_alpha_prime().
| ccl_device_forceinline Spectrum bssrdf_eval | ( | const Spectrum | radius, |
| float | r ) |
Definition at line 248 of file bssrdf.h.
References bssrdf_burley_pdf(), FOREACH_SPECTRUM_CHANNEL, GET_SPECTRUM_CHANNEL, and result.
Referenced by bssrdf_pdf().
| ccl_device float bssrdf_num_channels | ( | const Spectrum | radius | ) |
Definition at line 206 of file bssrdf.h.
References channels(), FOREACH_SPECTRUM_CHANNEL, and GET_SPECTRUM_CHANNEL.
Referenced by bssrdf_pdf(), and bssrdf_sample().
| ccl_device_forceinline float bssrdf_pdf | ( | const Spectrum | radius, |
| float | r ) |
Definition at line 257 of file bssrdf.h.
References bssrdf_eval(), bssrdf_num_channels(), and reduce_add().
| ccl_device void bssrdf_sample | ( | const Spectrum | radius, |
| float | xi, | ||
| ccl_private float * | r, | ||
| ccl_private float * | h ) |
Definition at line 217 of file bssrdf.h.
References bssrdf_burley_sample(), bssrdf_num_channels(), FOREACH_SPECTRUM_CHANNEL, GET_SPECTRUM_CHANNEL, and sum().
| ccl_device int bssrdf_setup | ( | ccl_private ShaderData * | sd, |
| ccl_private Bssrdf * | bssrdf, | ||
| int | path_flag, | ||
| ClosureType | type ) |
Definition at line 283 of file bssrdf.h.
References average(), bsdf_alloc(), bsdf_diffuse_setup(), bssrdf(), BSSRDF_MIN_RADIUS, bssrdf_setup_radius(), ccl_private, clamp(), CLOSURE_BSSRDF_RANDOM_WALK_SKIN_ID, CLOSURE_NONE_ID, fabsf, flag, FLT_MAX, FOREACH_SPECTRUM_CHANNEL, GET_SPECTRUM_CHANNEL, max, PATH_RAY_DIFFUSE_ANCESTOR, SD_BSSRDF, SPECTRUM_CHANNELS, and zero_spectrum.
Referenced by osl_closure_bssrdf_setup(), and svm_node_closure_bsdf().
| ccl_device void bssrdf_setup_radius | ( | ccl_private Bssrdf * | bssrdf, |
| const ClosureType | type ) |
Definition at line 60 of file bssrdf.h.
References bssrdf(), bssrdf_dipole_compute_alpha_prime(), CLOSURE_BSSRDF_BURLEY_ID, CLOSURE_BSSRDF_RANDOM_WALK_ID, FOREACH_SPECTRUM_CHANNEL, GET_SPECTRUM_CHANNEL, one_spectrum, and sqrt().
Referenced by bssrdf_setup().