|
Blender V5.0
|
#include <cfenv>#include "kernel/types.h"#include "kernel/closure/bsdf_util.h"#include "kernel/util/colorspace.h"Go to the source code of this file.
Classes | |
| struct | ChiangHairBSDF |
| ccl_device_inline float azimuthal_scattering | ( | float | phi, |
| const int | p, | ||
| const float | s, | ||
| float | gamma_o, | ||
| const float | gamma_t ) |
Definition at line 127 of file bsdf_principled_hair_chiang.h.
References ccl_device_inline, delta_phi(), trimmed_logistic(), and wrap_angle().
Referenced by bsdf_hair_chiang_eval(), and bsdf_hair_chiang_sample().
| ccl_device_inline float bessel_I0 | ( | float | x | ) |
Definition at line 76 of file bsdf_principled_hair_chiang.h.
References ccl_device_inline, i, sqr, and x.
Referenced by log_bessel_I0(), and longitudinal_scattering().
| ccl_device Spectrum bsdf_hair_chiang_albedo | ( | const ccl_private ShaderData * | sd, |
| const ccl_private ShaderClosure * | sc ) |
Definition at line 467 of file bsdf_principled_hair_chiang.h.
References bsdf_principled_hair_albedo_roughness_scale(), ccl_device, ccl_private, cos_from_sin(), dot(), exp, fresnel_dielectric_cos(), make_spectrum, safe_normalize(), and sqrt.
Referenced by bsdf_albedo().
| ccl_device void bsdf_hair_chiang_blur | ( | ccl_private ShaderClosure * | sc, |
| const float | roughness ) |
Definition at line 457 of file bsdf_principled_hair_chiang.h.
References ccl_device, ccl_private, fmaxf, and ChiangHairBSDF::v.
Referenced by bsdf_blur().
| ccl_device Spectrum bsdf_hair_chiang_eval | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| const ccl_private ShaderClosure * | sc, | ||
| const float3 | wo, | ||
| ccl_private float * | pdf ) |
Definition at line 256 of file bsdf_principled_hair_chiang.h.
References atan2f, azimuthal_scattering(), ccl_device, ccl_private, cos_from_sin(), cross, dot(), exp, F, fabsf, fresnel_dielectric_cos(), hair_alpha_angles(), hair_attenuation(), i, isfinite_safe(), kernel_assert, longitudinal_scattering(), M_1_2PI_F, safe_asinf(), safe_normalize(), sqr, sqrtf, T, to_local(), X, float3::x, Y, float3::y, Z, float3::z, and zero_spectrum.
Referenced by bsdf_eval().
| ccl_device int bsdf_hair_chiang_sample | ( | KernelGlobals | kg, |
| const ccl_private ShaderClosure * | sc, | ||
| ccl_private ShaderData * | sd, | ||
| float3 | rand, | ||
| ccl_private Spectrum * | eval, | ||
| ccl_private float3 * | wo, | ||
| ccl_private float * | pdf, | ||
| ccl_private float2 * | sampled_roughness ) |
Definition at line 338 of file bsdf_principled_hair_chiang.h.
References atan2f, azimuthal_scattering(), ccl_device, ccl_private, cos_from_sin(), cosf, cross, delta_phi(), dot(), exp, expf, F, fabsf, fresnel_dielectric_cos(), hair_alpha_angles(), hair_attenuation(), i, isfinite_safe(), kernel_assert, LABEL_GLOSSY, LABEL_REFLECT, LABEL_TRANSMIT, logf, longitudinal_scattering(), M_1_2PI_F, M_2PI_F, make_float2, max, safe_asinf(), safe_normalize(), sample_trimmed_logistic(), sin_from_cos(), spherical_cos_to_direction(), sqr, sqrtf, T, to_global(), to_local(), v, X, float3::x, Y, float3::y, Z, float3::z, and zero_spectrum.
Referenced by bsdf_sample().
| ccl_device_inline float delta_phi | ( | const int | p, |
| const float | gamma_o, | ||
| const float | gamma_t ) |
Definition at line 46 of file bsdf_principled_hair_chiang.h.
References ccl_device_inline, and M_PI_F.
Referenced by azimuthal_scattering(), bsdf_hair_chiang_sample(), blender::nodes::node_geo_mesh_primitive_ico_sphere_cc::calculate_bounds_ico_sphere(), blender::geometry::calculate_bounds_radial_primitive(), and blender::geometry::calculate_sphere_vertex_data().
| ccl_device_inline void hair_alpha_angles | ( | const float | sin_theta_o, |
| const float | cos_theta_o, | ||
| const float | alpha, | ||
| ccl_private float * | angles ) |
Definition at line 235 of file bsdf_principled_hair_chiang.h.
References ccl_device_inline, ccl_private, cos_from_sin(), fabsf, sinf, and sqr.
Referenced by bsdf_hair_chiang_eval(), and bsdf_hair_chiang_sample().
| ccl_device_inline void hair_attenuation | ( | KernelGlobals | kg, |
| const float | f, | ||
| Spectrum | T, | ||
| ccl_private Spectrum * | Ap, | ||
| ccl_private float * | Ap_energy ) |
Definition at line 199 of file bsdf_principled_hair_chiang.h.
References ccl_device_inline, ccl_private, col, make_spectrum, one_spectrum, safe_divide(), spectrum_to_gray(), sqr, and T.
Referenced by bsdf_hair_chiang_eval(), and bsdf_hair_chiang_sample().
| ccl_device_inline float log_bessel_I0 | ( | const float | x | ) |
Definition at line 97 of file bsdf_principled_hair_chiang.h.
References bessel_I0(), ccl_device_inline, logf, M_LN_2PI_F, and x.
Referenced by longitudinal_scattering().
| ccl_device_inline float logistic | ( | const float | x, |
| const float | s ) |
Definition at line 58 of file bsdf_principled_hair_chiang.h.
References ccl_device_inline, expf, fabsf, sqr, v, and x.
Referenced by trimmed_logistic().
| ccl_device_inline float logistic_cdf | ( | const float | x, |
| const float | s ) |
Definition at line 65 of file bsdf_principled_hair_chiang.h.
References ccl_device_inline, expf, and x.
Referenced by sample_trimmed_logistic(), and trimmed_logistic().
| ccl_device_inline float longitudinal_scattering | ( | float | sin_theta_i, |
| const float | cos_theta_i, | ||
| const float | sin_theta_o, | ||
| const float | cos_theta_o, | ||
| const float | v ) |
Definition at line 136 of file bsdf_principled_hair_chiang.h.
References bessel_I0(), ccl_device_inline, expf, isfinite_safe(), kernel_assert, log_bessel_I0(), logf, sinhf, and v.
Referenced by bsdf_hair_chiang_eval(), bsdf_hair_chiang_sample(), and bsdf_hair_huang_eval_residual().
| ccl_device_inline float sample_trimmed_logistic | ( | const float | u, |
| const float | s ) |
Definition at line 119 of file bsdf_principled_hair_chiang.h.
References ccl_device_inline, clamp(), logf, logistic_cdf(), M_PI_F, and x.
Referenced by bsdf_hair_chiang_sample().
| ccl_device_inline float trimmed_logistic | ( | const float | x, |
| const float | s ) |
Definition at line 108 of file bsdf_principled_hair_chiang.h.
References ccl_device_inline, logistic(), logistic_cdf(), M_PI_F, safe_divide(), and x.
Referenced by azimuthal_scattering().
| ccl_device_inline float wrap_angle | ( | const float | a | ) |
Definition at line 52 of file bsdf_principled_hair_chiang.h.
References ccl_device_inline, floorf, M_2PI_F, and M_PI_F.
Referenced by azimuthal_scattering(), and dial_ghostarc_get_angles().