Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | PrincipledHairExtra |
struct | PrincipledHairBSDF |
Typedefs | |
typedef CCL_NAMESPACE_BEGIN struct PrincipledHairExtra | PrincipledHairExtra |
typedef struct PrincipledHairBSDF | PrincipledHairBSDF |
typedef struct PrincipledHairBSDF PrincipledHairBSDF |
typedef CCL_NAMESPACE_BEGIN struct PrincipledHairExtra PrincipledHairExtra |
ccl_device_inline float azimuthal_scattering | ( | float | phi, |
int | p, | ||
float | s, | ||
float | gamma_o, | ||
float | gamma_t | ||
) |
Definition at line 142 of file bsdf_hair_principled.h.
References delta_phi(), trimmed_logistic(), and wrap_angle().
Referenced by bsdf_principled_hair_eval(), and bsdf_principled_hair_sample().
ccl_device_inline float bessel_I0 | ( | float | x | ) |
Definition at line 89 of file bsdf_hair_principled.h.
Referenced by log_bessel_I0(), and longitudinal_scattering().
ccl_device float3 bsdf_principled_hair_albedo | ( | ccl_private const ShaderClosure * | sc | ) |
Definition at line 492 of file bsdf_hair_principled.h.
References bsdf_principled_hair_albedo_roughness_scale(), ccl_private, exp(), and sqrt().
ccl_device_inline float bsdf_principled_hair_albedo_roughness_scale | ( | const float | azimuthal_roughness | ) |
Definition at line 485 of file bsdf_hair_principled.h.
References x.
Referenced by bsdf_principled_hair_albedo(), and bsdf_principled_hair_sigma_from_reflectance().
ccl_device void bsdf_principled_hair_blur | ( | ccl_private ShaderClosure * | sc, |
float | roughness | ||
) |
Definition at line 474 of file bsdf_hair_principled.h.
References ccl_private, fmaxf, usdtokens::roughness(), and PrincipledHairBSDF::v.
Referenced by bsdf_blur().
ccl_device float3 bsdf_principled_hair_eval | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd, | ||
ccl_private const ShaderClosure * | sc, | ||
const float3 | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 269 of file bsdf_hair_principled.h.
References atan2f, azimuthal_scattering(), ccl_private, cos_from_sin(), blender::math::cross(), blender::math::dot(), exp(), F, fabsf, float4_to_float3(), fresnel_dielectric_cos(), hair_alpha_angles(), hair_attenuation(), isfinite_safe(), kernel_assert, longitudinal_scattering(), M_1_2PI_F, make_float3, safe_asinf(), safe_normalize(), sqr(), sqrtf, T, float3::x, X, float3::y, Y, float3::z, and Z.
Referenced by bsdf_eval().
ccl_device int bsdf_principled_hair_sample | ( | KernelGlobals | kg, |
ccl_private const ShaderClosure * | sc, | ||
ccl_private ShaderData * | sd, | ||
float | randu, | ||
float | randv, | ||
ccl_private float3 * | eval, | ||
ccl_private float3 * | omega_in, | ||
ccl_private float3 * | domega_in_dx, | ||
ccl_private float3 * | domega_in_dy, | ||
ccl_private float * | |||
) |
Definition at line 347 of file bsdf_hair_principled.h.
References atan2f, azimuthal_scattering(), ccl_private, cos_from_sin(), cosf, blender::math::cross(), delta_phi(), blender::math::dot(), exp(), expf, F, fabsf, float4_to_float3(), fresnel_dielectric_cos(), hair_alpha_angles(), hair_attenuation(), isfinite_safe(), kernel_assert, LABEL_GLOSSY, LABEL_REFLECT, LABEL_TRANSMIT, lcg_step_float(), logf, longitudinal_scattering(), M_1_2PI_F, M_2PI_F, make_float2, make_float3, max, N, safe_asinf(), safe_normalize(), sample_trimmed_logistic(), sinf, sqr(), sqrtf, T, v, w(), float3::x, float2::x, x, X, float3::y, float2::y, y, Y, float3::z, and Z.
Referenced by bsdf_sample().
ccl_device_inline float3 bsdf_principled_hair_sigma_from_concentration | ( | const float | eumelanin, |
const float | pheomelanin | ||
) |
Definition at line 506 of file bsdf_hair_principled.h.
References make_float3.
Referenced by svm_node_closure_bsdf().
ccl_device_inline float3 bsdf_principled_hair_sigma_from_reflectance | ( | const float3 | color, |
const float | azimuthal_roughness | ||
) |
Definition at line 499 of file bsdf_hair_principled.h.
References bsdf_principled_hair_albedo_roughness_scale(), color, and log().
Referenced by svm_node_closure_bsdf().
ccl_device_inline float4 combine_with_energy | ( | KernelGlobals | kg, |
float3 | c | ||
) |
Definition at line 170 of file bsdf_hair_principled.h.
References Freestyle::c, linear_rgb_to_gray(), and make_float4.
Referenced by hair_attenuation().
ccl_device_inline float cos_from_sin | ( | const float | s | ) |
Definition at line 44 of file bsdf_hair_principled.h.
References safe_sqrtf().
Referenced by bsdf_principled_hair_eval(), bsdf_principled_hair_sample(), and hair_alpha_angles().
ccl_device_inline float delta_phi | ( | int | p, |
float | gamma_o, | ||
float | gamma_t | ||
) |
Definition at line 51 of file bsdf_hair_principled.h.
References M_PI_F.
Referenced by azimuthal_scattering(), bsdf_principled_hair_sample(), and blender::nodes::node_geo_mesh_primitive_uv_sphere_cc::calculate_sphere_vertex_data().
ccl_device_inline void hair_alpha_angles | ( | float | sin_theta_i, |
float | cos_theta_i, | ||
float | alpha, | ||
ccl_private float * | angles | ||
) |
Definition at line 248 of file bsdf_hair_principled.h.
References cos_from_sin(), fabsf, sinf, and sqr().
Referenced by bsdf_principled_hair_eval(), and bsdf_principled_hair_sample().
ccl_device_inline void hair_attenuation | ( | KernelGlobals | kg, |
float | f, | ||
float3 | T, | ||
ccl_private float4 * | Ap | ||
) |
Definition at line 217 of file bsdf_hair_principled.h.
References col, combine_with_energy(), make_float3, make_float4, blender::math::safe_divide(), safe_divide_color(), sqr(), and T.
Referenced by bsdf_principled_hair_eval(), and bsdf_principled_hair_sample().
ccl_device_inline float log_bessel_I0 | ( | float | x | ) |
Definition at line 110 of file bsdf_hair_principled.h.
References bessel_I0(), logf, M_LN_2PI_F, and x.
Referenced by longitudinal_scattering().
ccl_device_inline float logistic | ( | float | x, |
float | s | ||
) |
Definition at line 69 of file bsdf_hair_principled.h.
References expf, fabsf, sqr(), v, and x.
Referenced by trimmed_logistic().
ccl_device_inline float logistic_cdf | ( | float | x, |
float | s | ||
) |
Definition at line 76 of file bsdf_hair_principled.h.
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 151 of file bsdf_hair_principled.h.
References bessel_I0(), expf, log_bessel_I0(), logf, sinhf, and v.
Referenced by bsdf_principled_hair_eval(), and bsdf_principled_hair_sample().
ccl_device_inline float sample_trimmed_logistic | ( | float | u, |
float | s | ||
) |
Definition at line 134 of file bsdf_hair_principled.h.
References blender::math::clamp(), logf, logistic_cdf(), M_PI_F, and x.
Referenced by bsdf_principled_hair_sample().
ccl_device_inline float trimmed_logistic | ( | float | x, |
float | s | ||
) |
Definition at line 123 of file bsdf_hair_principled.h.
References logistic(), logistic_cdf(), M_PI_F, blender::math::safe_divide(), and x.
Referenced by azimuthal_scattering().
ccl_device_inline float wrap_angle | ( | float | a | ) |
Definition at line 57 of file bsdf_hair_principled.h.
References Freestyle::a, M_2PI_F, and M_PI_F.
Referenced by azimuthal_scattering(), and dial_ghostarc_get_angles().