|
Blender V4.3
|
Go to the source code of this file.
Classes | |
| struct | ChiangHairBSDF |
Typedefs | |
| typedef CCL_NAMESPACE_BEGIN struct ChiangHairBSDF | ChiangHairBSDF |
| typedef CCL_NAMESPACE_BEGIN struct ChiangHairBSDF ChiangHairBSDF |
| ccl_device_inline float azimuthal_scattering | ( | float | phi, |
| int | p, | ||
| float | s, | ||
| float | gamma_o, | ||
| float | gamma_t ) |
Definition at line 127 of file bsdf_principled_hair_chiang.h.
References 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 74 of file bsdf_principled_hair_chiang.h.
Referenced by log_bessel_I0(), and longitudinal_scattering().
| ccl_device Spectrum bsdf_hair_chiang_albedo | ( | ccl_private const ShaderData * | sd, |
| ccl_private const ShaderClosure * | sc ) |
Definition at line 463 of file bsdf_principled_hair_chiang.h.
References bsdf_principled_hair_albedo_roughness_scale(), 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, |
| float | roughness ) |
Definition at line 453 of file bsdf_principled_hair_chiang.h.
References ccl_private, fmaxf, and ChiangHairBSDF::v.
Referenced by bsdf_blur().
| ccl_device Spectrum bsdf_hair_chiang_eval | ( | KernelGlobals | kg, |
| ccl_private const ShaderData * | sd, | ||
| ccl_private const ShaderClosure * | sc, | ||
| const float3 | wo, | ||
| ccl_private float * | pdf ) |
Definition at line 251 of file bsdf_principled_hair_chiang.h.
References atan2f, azimuthal_scattering(), ccl_private, cos_from_sin(), cross(), dot(), exp(), F, fabsf, fresnel_dielectric_cos(), hair_alpha_angles(), hair_attenuation(), isfinite_safe(), kernel_assert, longitudinal_scattering(), make_float3(), safe_asinf(), safe_normalize(), sqr(), sqrtf, X, float3::x, Y, float3::y, float3::z, and zero_spectrum.
Referenced by bsdf_eval().
| ccl_device int bsdf_hair_chiang_sample | ( | KernelGlobals | kg, |
| ccl_private const 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 333 of file bsdf_principled_hair_chiang.h.
References atan2f, azimuthal_scattering(), ccl_private, cos_from_sin(), cosf, cross(), delta_phi(), dot(), exp(), expf, F, fabsf, fresnel_dielectric_cos(), hair_alpha_angles(), hair_attenuation(), isfinite_safe(), kernel_assert, LABEL_GLOSSY, LABEL_REFLECT, LABEL_TRANSMIT, logf, longitudinal_scattering(), M_2PI_F, make_float2(), make_float3(), max, safe_asinf(), safe_normalize(), sample_trimmed_logistic(), sin_from_cos(), sinf, sqr(), sqrtf, v, X, float3::x, Y, float3::y, float3::z, and zero_spectrum.
Referenced by bsdf_sample().
| ccl_device_inline float delta_phi | ( | int | p, |
| float | gamma_o, | ||
| float | gamma_t ) |
Definition at line 42 of file bsdf_principled_hair_chiang.h.
References 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 | ( | float | sin_theta_o, |
| float | cos_theta_o, | ||
| float | alpha, | ||
| ccl_private float * | angles ) |
Definition at line 230 of file bsdf_principled_hair_chiang.h.
References 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, |
| float | f, | ||
| Spectrum | T, | ||
| ccl_private Spectrum * | Ap, | ||
| ccl_private float * | Ap_energy ) |
Definition at line 197 of file bsdf_principled_hair_chiang.h.
References 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 | ( | float | x | ) |
Definition at line 95 of file bsdf_principled_hair_chiang.h.
References bessel_I0(), logf, and x.
Referenced by longitudinal_scattering().
| ccl_device_inline float logistic | ( | float | x, |
| float | s ) |
Definition at line 54 of file bsdf_principled_hair_chiang.h.
References expf, fabsf, sqr(), and v.
Referenced by trimmed_logistic().
| ccl_device_inline float logistic_cdf | ( | float | x, |
| float | s ) |
Definition at line 61 of file bsdf_principled_hair_chiang.h.
References expf.
Referenced by sample_trimmed_logistic(), and trimmed_logistic().
| ccl_device_inline float longitudinal_scattering | ( | float | sin_theta_i, |
| float | cos_theta_i, | ||
| float | sin_theta_o, | ||
| float | cos_theta_o, | ||
| float | v ) |
Definition at line 136 of file bsdf_principled_hair_chiang.h.
References bessel_I0(), 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 | ( | float | u, |
| float | s ) |
Definition at line 119 of file bsdf_principled_hair_chiang.h.
References clamp(), logf, logistic_cdf(), and M_PI_F.
Referenced by bsdf_hair_chiang_sample().
| ccl_device_inline float trimmed_logistic | ( | float | x, |
| float | s ) |
Definition at line 108 of file bsdf_principled_hair_chiang.h.
References logistic(), logistic_cdf(), M_PI_F, and safe_divide().
Referenced by azimuthal_scattering().
| ccl_device_inline float wrap_angle | ( | float | a | ) |
Definition at line 48 of file bsdf_principled_hair_chiang.h.
References floorf, M_2PI_F, and M_PI_F.
Referenced by azimuthal_scattering(), and dial_ghostarc_get_angles().