|
Blender V4.5
|
Go to the source code of this file.
Functions | |
| CCL_NAMESPACE_BEGIN ccl_device float3 | phase_sample_direction (const float3 D, const float cos_theta, const float rand) |
| ccl_device float | phase_henyey_greenstein (const float cos_theta, const float g) |
| ccl_device float3 | phase_henyey_greenstein_sample (const float3 D, const float g, const float2 rand, ccl_private float *pdf) |
| ccl_device float | phase_rayleigh (const float cos_theta) |
| ccl_device float3 | phase_rayleigh_sample (const float3 D, const float2 rand, ccl_private float *pdf) |
| ccl_device float | phase_draine (const float cos_theta, const float g, float alpha) |
| ccl_device float | phase_draine_sample_cos (const float g, const float alpha, const float rand) |
| ccl_device float3 | phase_draine_sample (const float3 D, const float g, float alpha, const float2 rand, ccl_private float *pdf) |
| ccl_device float | phase_fournier_forand_delta (const float n, const float sin_htheta_sqr) |
| ccl_device_inline float3 | phase_fournier_forand_coeffs (const float B, const float IOR) |
| ccl_device_inline float | phase_fournier_forand_impl (float cos_theta, const float delta, const float pow_delta_v, const float v, float sin_htheta_sqr, const float pf_coeff) |
| ccl_device float | phase_fournier_forand (const float cos_theta, const float3 coeffs) |
| ccl_device float | phase_fournier_forand_newton (const float rand, const float3 coeffs) |
| ccl_device float3 | phase_fournier_forand_sample (const float3 D, const float3 coeffs, const float2 rand, ccl_private float *pdf) |
| ccl_device void | phase_mie_fitted_parameters (float d, ccl_private float *g_HG, ccl_private float *g_D, ccl_private float *alpha, ccl_private float *w) |
| ccl_device float phase_draine | ( | const float | cos_theta, |
| const float | g, | ||
| float | alpha ) |
Definition at line 79 of file volume_util.h.
References ccl_device, cos_theta(), fabsf, M_4PI_F, phase_henyey_greenstein(), phase_rayleigh(), sqr(), and sqrtf.
Referenced by phase_draine_sample(), and volume_draine_eval().
| ccl_device float3 phase_draine_sample | ( | const float3 | D, |
| const float | g, | ||
| float | alpha, | ||
| const float2 | rand, | ||
| ccl_private float * | pdf ) |
Definition at line 129 of file volume_util.h.
References ccl_device, ccl_private, cos_theta(), D, fabsf, phase_draine(), phase_draine_sample_cos(), phase_henyey_greenstein_sample(), phase_rayleigh_sample(), phase_sample_direction(), float2::x, and float2::y.
Referenced by volume_draine_sample().
| ccl_device float phase_draine_sample_cos | ( | const float | g, |
| const float | alpha, | ||
| const float | rand ) |
Definition at line 96 of file volume_util.h.
References ccl_device, fabsf, fast_inv_cbrtf(), M_CBRT2_F, sqr(), sqrtf, T10, T2, T3, T4, T5, T6, T7, T8, and T9.
Referenced by phase_draine_sample().
| ccl_device float phase_fournier_forand | ( | const float | cos_theta, |
| const float3 | coeffs ) |
Definition at line 190 of file volume_util.h.
References ccl_device, cos_theta(), fabsf, M_PI_F, phase_fournier_forand_delta(), phase_fournier_forand_impl(), powf, v, float3::x, float3::y, and float3::z.
Referenced by phase_fournier_forand_sample(), and volume_fournier_forand_eval().
| ccl_device_inline float3 phase_fournier_forand_coeffs | ( | const float | B, |
| const float | IOR ) |
Definition at line 152 of file volume_util.h.
References B, ccl_device_inline, logf, make_float3(), phase_fournier_forand_delta(), powf, and v.
Referenced by volume_fournier_forand_setup().
| ccl_device float phase_fournier_forand_delta | ( | const float | n, |
| const float | sin_htheta_sqr ) |
Definition at line 146 of file volume_util.h.
References ccl_device, and sqr().
Referenced by phase_fournier_forand(), phase_fournier_forand_coeffs(), and phase_fournier_forand_newton().
| ccl_device_inline float phase_fournier_forand_impl | ( | float | cos_theta, |
| const float | delta, | ||
| const float | pow_delta_v, | ||
| const float | v, | ||
| float | sin_htheta_sqr, | ||
| const float | pf_coeff ) |
Definition at line 165 of file volume_util.h.
References ccl_device_inline, cos_theta(), fabsf, M_4PI_F, m_delta, M_PI_F, pf, sqr(), and v.
Referenced by phase_fournier_forand(), and phase_fournier_forand_newton().
| ccl_device float phase_fournier_forand_newton | ( | const float | rand, |
| const float3 | coeffs ) |
Definition at line 205 of file volume_util.h.
References ccl_device, cos_theta(), fabsf, M_1_2PI_F, m_delta, M_PI_F, max, mix, pf, phase_fournier_forand_delta(), phase_fournier_forand_impl(), powf, sqr(), v, float3::x, float3::y, and float3::z.
Referenced by phase_fournier_forand_sample().
| ccl_device float3 phase_fournier_forand_sample | ( | const float3 | D, |
| const float3 | coeffs, | ||
| const float2 | rand, | ||
| ccl_private float * | pdf ) |
Definition at line 249 of file volume_util.h.
References ccl_device, ccl_private, cos_theta(), D, phase_fournier_forand(), phase_fournier_forand_newton(), phase_sample_direction(), float2::x, and float2::y.
Referenced by volume_fournier_forand_sample().
| ccl_device float phase_henyey_greenstein | ( | const float | cos_theta, |
| const float | g ) |
Definition at line 27 of file volume_util.h.
References ccl_device, cos_theta(), fabsf, M_1_4PI_F, M_4PI_F, safe_sqrtf(), and sqr().
Referenced by phase_draine(), phase_henyey_greenstein_sample(), and volume_henyey_greenstein_eval().
| ccl_device float3 phase_henyey_greenstein_sample | ( | const float3 | D, |
| const float | g, | ||
| const float2 | rand, | ||
| ccl_private float * | pdf ) |
Definition at line 36 of file volume_util.h.
References ccl_device, ccl_private, cos_theta(), D, fabsf, phase_henyey_greenstein(), phase_sample_direction(), sqr(), float2::x, and float2::y.
Referenced by phase_draine_sample(), and volume_henyey_greenstein_sample().
| ccl_device void phase_mie_fitted_parameters | ( | float | d, |
| ccl_private float * | g_HG, | ||
| ccl_private float * | g_D, | ||
| ccl_private float * | alpha, | ||
| ccl_private float * | w ) |
Definition at line 267 of file volume_util.h.
References b, ccl_device, ccl_private, fast_cosf(), fast_expf(), fast_logf(), fast_sinf(), fast_tanf(), fmaxf, powf, sqr(), and w().
Referenced by svm_alloc_closure_volume_scatter().
| ccl_device float phase_rayleigh | ( | const float | cos_theta | ) |
Definition at line 55 of file volume_util.h.
References ccl_device, cos_theta(), M_1_PI_F, and sqr().
Referenced by phase_draine(), phase_rayleigh_sample(), and volume_rayleigh_eval().
| ccl_device float3 phase_rayleigh_sample | ( | const float3 | D, |
| const float2 | rand, | ||
| ccl_private float * | pdf ) |
Definition at line 60 of file volume_util.h.
References ccl_device, ccl_private, cos_theta(), D, fast_inv_cbrtf(), phase_rayleigh(), phase_sample_direction(), sqr(), sqrtf, float2::x, and float2::y.
Referenced by phase_draine_sample(), and volume_rayleigh_sample().
| CCL_NAMESPACE_BEGIN ccl_device float3 phase_sample_direction | ( | const float3 | D, |
| const float | cos_theta, | ||
| const float | rand ) |
Definition at line 13 of file volume_util.h.
References B, ccl_device, cos_theta(), D, M_2PI_F, make_orthonormals(), spherical_cos_to_direction(), T, and to_global().
Referenced by phase_draine_sample(), phase_fournier_forand_sample(), phase_henyey_greenstein_sample(), and phase_rayleigh_sample().