|
Blender
V2.93
|
#include "kernel/kernel_color.h"Go to the source code of this file.
Classes | |
| struct | PrincipledHairExtra |
| struct | PrincipledHairBSDF |
Macros | |
| #define | __BSDF_HAIR_PRINCIPLED_H__ |
Typedefs | |
| typedef ccl_addr_space struct PrincipledHairBSDF | PrincipledHairBSDF |
Variables | |
| CCL_NAMESPACE_BEGIN typedef ccl_addr_space struct PrincipledHairExtra | PrincipledHairExtra |
| #define __BSDF_HAIR_PRINCIPLED_H__ |
Definition at line 24 of file bsdf_hair_principled.h.
| typedef ccl_addr_space struct PrincipledHairBSDF PrincipledHairBSDF |
| ccl_device_inline float azimuthal_scattering | ( | float | phi, |
| int | p, | ||
| float | s, | ||
| float | gamma_o, | ||
| float | gamma_t | ||
| ) |
Definition at line 156 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 103 of file bsdf_hair_principled.h.
Referenced by log_bessel_I0(), and longitudinal_scattering().
| ccl_device float3 bsdf_principled_hair_albedo | ( | ShaderClosure * | sc | ) |
Definition at line 504 of file bsdf_hair_principled.h.
References bsdf_principled_hair_albedo_roughness_scale(), exp3(), PrincipledHairBSDF::sigma, sqrt(), and PrincipledHairBSDF::v.
| ccl_device_inline float bsdf_principled_hair_albedo_roughness_scale | ( | const float | azimuthal_roughness | ) |
Definition at line 497 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 | ( | ShaderClosure * | sc, |
| float | roughness | ||
| ) |
Definition at line 486 of file bsdf_hair_principled.h.
References fmaxf, PrincipledHairBSDF::m0_roughness, usdtokens::roughness(), PrincipledHairBSDF::s, and PrincipledHairBSDF::v.
Referenced by bsdf_blur().
| ccl_device float3 bsdf_principled_hair_eval | ( | KernelGlobals * | kg, |
| const ShaderData * | sd, | ||
| const ShaderClosure * | sc, | ||
| const float3 | omega_in, | ||
| float * | |||
| ) |
Definition at line 281 of file bsdf_hair_principled.h.
References PrincipledHairBSDF::alpha, atan2f, azimuthal_scattering(), cos_from_sin(), cross(), dot(), PrincipledHairBSDF::eta, exp3(), PrincipledHairBSDF::extra, F, fabsf, float4_to_float3(), fresnel_dielectric_cos(), PrincipledHairExtra::geom, hair_alpha_angles(), hair_attenuation(), isfinite3_safe(), isfinite_safe(), kernel_assert, kg, longitudinal_scattering(), PrincipledHairBSDF::m0_roughness, M_1_2PI_F, make_float3, PrincipledHairBSDF::s, safe_asinf(), safe_normalize(), PrincipledHairBSDF::sigma, sqr(), sqrtf, T, PrincipledHairBSDF::v, float3::x, X, float3::y, Y, float3::z, and Z.
Referenced by bsdf_eval().
| ccl_device int bsdf_principled_hair_sample | ( | KernelGlobals * | kg, |
| const ShaderClosure * | sc, | ||
| ShaderData * | sd, | ||
| float | randu, | ||
| float | randv, | ||
| float3 * | eval, | ||
| float3 * | omega_in, | ||
| float3 * | domega_in_dx, | ||
| float3 * | domega_in_dy, | ||
| float * | |||
| ) |
Definition at line 359 of file bsdf_hair_principled.h.
References PrincipledHairBSDF::alpha, atan2f, azimuthal_scattering(), cos_from_sin(), cosf, cross(), delta_phi(), dot(), PrincipledHairBSDF::eta, exp3(), expf, PrincipledHairBSDF::extra, F, fabsf, float4_to_float3(), fresnel_dielectric_cos(), PrincipledHairExtra::geom, hair_alpha_angles(), hair_attenuation(), isfinite3_safe(), kernel_assert, kg, LABEL_GLOSSY, LABEL_REFLECT, LABEL_TRANSMIT, lcg_step_float_addrspace(), logf, longitudinal_scattering(), PrincipledHairBSDF::m0_roughness, M_1_2PI_F, M_2PI_F, make_float2, make_float3, max, N, PrincipledHairBSDF::s, safe_asinf(), safe_normalize(), sample_trimmed_logistic(), PrincipledHairBSDF::sigma, sinf, sqr(), sqrtf, T, PrincipledHairBSDF::v, v, w(), float2::x, float3::x, x, X, float2::y, float3::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 518 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 511 of file bsdf_hair_principled.h.
References bsdf_principled_hair_albedo_roughness_scale(), and log3().
Referenced by svm_node_closure_bsdf().
| ccl_device_inline float4 combine_with_energy | ( | KernelGlobals * | kg, |
| float3 | c | ||
| ) |
Definition at line 184 of file bsdf_hair_principled.h.
References Freestyle::c, kg, linear_rgb_to_gray(), and make_float4.
Referenced by hair_attenuation().
| ccl_device_inline float cos_from_sin | ( | const float | s | ) |
Definition at line 58 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 65 of file bsdf_hair_principled.h.
References M_PI_F.
Referenced by azimuthal_scattering(), bsdf_principled_hair_sample(), and blender::nodes::calculate_sphere_vertex_data().
| ccl_device_inline void hair_alpha_angles | ( | float | sin_theta_i, |
| float | cos_theta_i, | ||
| float | alpha, | ||
| float * | angles | ||
| ) |
Definition at line 260 of file bsdf_hair_principled.h.
References alpha, 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, | ||
| float4 * | Ap | ||
| ) |
Definition at line 232 of file bsdf_hair_principled.h.
References col, combine_with_energy(), kg, make_float3, make_float4, 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 124 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 83 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 90 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 165 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 148 of file bsdf_hair_principled.h.
References 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 137 of file bsdf_hair_principled.h.
References logistic(), logistic_cdf(), M_PI_F, safe_divide(), and x.
Referenced by azimuthal_scattering().
| ccl_device_inline float wrap_angle | ( | float | a | ) |
Definition at line 71 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().
| CCL_NAMESPACE_BEGIN typedef ccl_addr_space struct PrincipledHairExtra PrincipledHairExtra |