|
Blender V4.3
|
Go to the source code of this file.
Classes | |
| struct | HuangHairExtra |
| struct | HuangHairBSDF |
Typedefs | |
| typedef CCL_NAMESPACE_BEGIN struct HuangHairExtra | HuangHairExtra |
| typedef struct HuangHairBSDF | HuangHairBSDF |
| typedef struct HuangHairBSDF HuangHairBSDF |
| typedef CCL_NAMESPACE_BEGIN struct HuangHairExtra HuangHairExtra |
| ccl_device_inline float arc_length | ( | float | e2, |
| float | gamma ) |
Definition at line 182 of file bsdf_principled_hair_huang.h.
References sinf, sqr(), and sqrtf.
Referenced by bsdf_hair_huang_eval_r(), bsdf_hair_huang_eval_residual(), compute_bbone_segment_boundaries(), and blender::ed::space_node::viewer_linking::get_viewer_node_position_candidates().
| ccl_device_inline float bsdf_Go | ( | float | alpha2, |
| float | cos_NI, | ||
| float | cos_NO ) |
Definition at line 313 of file bsdf_principled_hair_huang.h.
References bsdf_lambda().
Referenced by bsdf_hair_huang_eval_residual(), and bsdf_hair_huang_sample().
| ccl_device Spectrum bsdf_hair_huang_albedo | ( | ccl_private const ShaderData * | sd, |
| ccl_private const ShaderClosure * | sc ) |
Definition at line 889 of file bsdf_principled_hair_huang.h.
References ccl_private, cos_from_sin(), dot(), exp(), fresnel_dielectric(), make_float3(), one_spectrum, refract_angle(), safe_divide(), sqr(), and float3::y.
Referenced by bsdf_albedo().
| ccl_device void bsdf_hair_huang_blur | ( | ccl_private ShaderClosure * | sc, |
| float | roughness ) |
Definition at line 880 of file bsdf_principled_hair_huang.h.
References ccl_private, fmaxf, and HuangHairBSDF::roughness.
Referenced by bsdf_blur().
| ccl_device_forceinline float bsdf_hair_huang_energy_scale | ( | KernelGlobals | kg, |
| float | mu, | ||
| float | rough, | ||
| float | ior ) |
Definition at line 270 of file bsdf_principled_hair_huang.h.
References fabsf, kernel_data, lookup_table_read_3D(), sqrtf, and z().
Referenced by bsdf_hair_huang_eval_r(), bsdf_hair_huang_eval_residual(), and bsdf_hair_huang_sample().
| ccl_device Spectrum bsdf_hair_huang_eval | ( | KernelGlobals | kg, |
| ccl_private const ShaderData * | sd, | ||
| ccl_private const ShaderClosure * | sc, | ||
| const float3 | wo, | ||
| ccl_private float * | pdf ) |
Definition at line 787 of file bsdf_principled_hair_huang.h.
References acosf, b, bsdf_hair_huang_eval_r(), bsdf_hair_huang_eval_residual(), ccl_private, cos_theta(), dir_phi(), dot(), fabsf, fmaxf, fminf, h_to_gamma(), is_nearfield(), isnan_safe(), kernel_assert, M_2PI_F, make_float3(), max, min, tan_theta(), tanf, to_gamma(), X, Y, and zero_spectrum.
Referenced by bsdf_eval().
| ccl_device Spectrum bsdf_hair_huang_eval_r | ( | KernelGlobals | kg, |
| ccl_private const ShaderClosure * | sc, | ||
| const float3 | wi, | ||
| const float3 | wo ) |
Definition at line 320 of file bsdf_principled_hair_huang.h.
References arc_length(), b, bsdf_D(), bsdf_G(), bsdf_hair_huang_energy_scale(), ccl_private, ceilf, dot(), float, fresnel_dielectric_cos(), G, make_float3(), make_spectrum, microfacet_visible(), normalize(), sphg_dir(), sqr(), sqrtf, float3::x, float3::z, and zero_float3().
Referenced by bsdf_hair_huang_eval().
| ccl_device Spectrum bsdf_hair_huang_eval_residual | ( | KernelGlobals | kg, |
| ccl_private const ShaderClosure * | sc, | ||
| const float3 | wi, | ||
| const float3 | wo, | ||
| uint | rng_quadrature ) |
Definition at line 386 of file bsdf_principled_hair_huang.h.
References arc_length(), b, bsdf_D(), bsdf_G(), bsdf_Go(), bsdf_hair_huang_energy_scale(), bsdf_hair_huang_eval_trrt(), ccl_private, ceilf, cos_theta(), cosf, dir_phi(), dot(), exp(), fabsf, fresnel_dielectric(), fresnel_dielectric_cos(), isfinite_safe(), lcg_step_float(), len, longitudinal_scattering(), M, M_PI_F, make_float2(), microfacet_visible(), N, reflect(), refract_angle(), sample_wh(), sin_theta(), sphg_dir(), sqr(), sqrtf, T1, T2, T3, to_phi(), to_point(), and zero_spectrum.
Referenced by bsdf_hair_huang_eval().
| ccl_device Spectrum bsdf_hair_huang_eval_trrt | ( | const float | T, |
| const float | R, | ||
| const Spectrum | A ) |
Definition at line 376 of file bsdf_principled_hair_huang.h.
References A, max, one_spectrum, R, and sqr().
Referenced by bsdf_hair_huang_eval_residual().
| ccl_device int bsdf_hair_huang_sample | ( | const 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 569 of file bsdf_principled_hair_huang.h.
References average(), b, bsdf_Go(), bsdf_hair_huang_energy_scale(), ccl_private, cos_from_sin(), cos_theta(), cosf, dir_phi(), dot(), exp(), expf, fabsf, fast_sincosf(), fresnel_dielectric(), h_to_gamma(), is_nearfield(), kernel_assert, LABEL_GLOSSY, LABEL_NONE, LABEL_REFLECT, lcg_step_float(), len, logf, M_2PI_F, M_PI_F, make_float2(), make_float3(), make_spectrum, max, microfacet_visible(), one_spectrum, R, reflect(), refract_angle(), HuangHairBSDF::roughness, sample_wh(), sin_theta(), sphg_dir(), sqr(), sqrt(), sqrtf, T1, T2, T3, to_phi(), to_point(), TR, X, float3::x, Y, float3::y, Z, float3::z, and zero_spectrum.
Referenced by bsdf_sample().
| ccl_device_inline float cos_theta | ( | const float3 | w | ) |
Definition at line 79 of file bsdf_principled_hair_huang.h.
References safe_sqrtf(), sqr(), and w().
Referenced by bsdf_ashikhmin_shirley_sample(), bsdf_ashikhmin_shirley_sample_first_quadrant(), bsdf_hair_huang_eval(), bsdf_hair_huang_eval_residual(), bsdf_hair_huang_sample(), dir_theta(), light_tree_importance(), pdf_cos_hemisphere(), phase_draine(), phase_draine_sample(), phase_fournier_forand(), phase_fournier_forand_impl(), phase_fournier_forand_newton(), phase_fournier_forand_sample(), phase_henyey_greenstein(), phase_henyey_greenstein_sample(), phase_rayleigh(), phase_rayleigh_sample(), phase_sample_direction(), point_light_sample(), blender::eevee::Sampling::sample_hemisphere(), blender::eevee::Sampling::sample_sphere(), sample_uniform_cone(), sin_phi(), sincos_phi(), sphg_dir(), spot_light_sample(), tan_theta(), volume_draine_eval(), volume_fournier_forand_eval(), volume_henyey_greenstein_eval(), and volume_rayleigh_eval().
| ccl_device_inline float dir_phi | ( | const float3 | w | ) |
Definition at line 111 of file bsdf_principled_hair_huang.h.
Referenced by bsdf_hair_huang_eval(), bsdf_hair_huang_eval_residual(), bsdf_hair_huang_sample(), and dir_sph().
| ccl_device_inline float2 dir_sph | ( | const float3 | w | ) |
Definition at line 118 of file bsdf_principled_hair_huang.h.
References dir_phi(), dir_theta(), make_float2(), and w().
| ccl_device_inline float dir_theta | ( | const float3 | w | ) |
Definition at line 104 of file bsdf_principled_hair_huang.h.
References atan2f, cos_theta(), sin_theta(), and w().
Referenced by dir_sph().
| ccl_device_inline float h_to_gamma | ( | const float | h_div_r, |
| const float | b, | ||
| const float3 | wi ) |
Definition at line 147 of file bsdf_principled_hair_huang.h.
References acosf, asinf, atan2f, b, float3::x, and float3::z.
Referenced by bsdf_hair_huang_eval(), and bsdf_hair_huang_sample().
| ccl_device_inline bool is_nearfield | ( | ccl_private const HuangHairBSDF * | bsdf | ) |
Definition at line 187 of file bsdf_principled_hair_huang.h.
Referenced by bsdf_hair_huang_eval(), and bsdf_hair_huang_sample().
| ccl_device_inline bool microfacet_visible | ( | const float3 | v, |
| const float3 | m, | ||
| const float3 | h ) |
Definition at line 298 of file bsdf_principled_hair_huang.h.
Referenced by bsdf_hair_huang_eval_r(), bsdf_hair_huang_eval_residual(), bsdf_hair_huang_sample(), and microfacet_visible().
| ccl_device_inline bool microfacet_visible | ( | const float3 | wi, |
| const float3 | wo, | ||
| const float3 | m, | ||
| const float3 | h ) |
Definition at line 304 of file bsdf_principled_hair_huang.h.
References microfacet_visible().
| ccl_device_inline float3 sample_wh | ( | KernelGlobals | kg, |
| const float | roughness, | ||
| const float3 | wi, | ||
| const float3 | wm, | ||
| const float2 | rand ) |
Definition at line 282 of file bsdf_principled_hair_huang.h.
References dot(), make_float3(), make_orthonormals(), microfacet_ggx_sample_vndf(), float3::x, float3::y, and float3::z.
Referenced by bsdf_hair_huang_eval_residual(), and bsdf_hair_huang_sample().
| ccl_device float sin_phi | ( | const float3 | w | ) |
Definition at line 91 of file bsdf_principled_hair_huang.h.
References cos_theta(), and w().
Referenced by bmo_create_cone_exec(), bmo_create_uvsphere_exec(), bsdf_ashikhmin_shirley_sample(), bsdf_ashikhmin_shirley_sample_first_quadrant(), sphg_dir(), to_gamma(), and triangle_light_sample().
| ccl_device_inline float sin_theta | ( | const float3 | w | ) |
Definition at line 73 of file bsdf_principled_hair_huang.h.
References w().
Referenced by background_cdf(), background_map_pdf(), background_map_sample(), bsdf_ashikhmin_shirley_sample(), bsdf_hair_huang_eval_residual(), bsdf_hair_huang_sample(), blender::geometry::calculate_sphere_vertex_data(), dir_theta(), equirectangular_range_to_direction(), light_tree_importance(), phase_sample_direction(), blender::eevee::Sampling::sample_hemisphere(), blender::eevee::Sampling::sample_sphere(), spherical_to_direction(), sphg_dir(), and tan_theta().
| ccl_device float2 sincos_phi | ( | const float3 | w | ) |
Definition at line 96 of file bsdf_principled_hair_huang.h.
References cos_theta(), make_float2(), and w().
| ccl_device_inline float3 sphg_dir | ( | float | theta, |
| float | gamma, | ||
| float | b ) |
Definition at line 162 of file bsdf_principled_hair_huang.h.
References b, cos_theta(), fabsf, fast_sincosf(), inversesqrtf(), make_float3(), signf(), sin_phi(), sin_theta(), and sqr().
Referenced by bsdf_hair_huang_eval_r(), bsdf_hair_huang_eval_residual(), and bsdf_hair_huang_sample().
| ccl_device_inline float tan_theta | ( | const float3 | w | ) |
Definition at line 85 of file bsdf_principled_hair_huang.h.
References cos_theta(), sin_theta(), and w().
Referenced by bsdf_hair_huang_eval().
| ccl_device_inline float to_gamma | ( | float | phi, |
| float | b ) |
Definition at line 134 of file bsdf_principled_hair_huang.h.
References atan2f, b, fast_sincosf(), and sin_phi().
Referenced by bsdf_hair_huang_eval().
| ccl_device_inline float to_phi | ( | float | gamma, |
| float | b ) |
Definition at line 124 of file bsdf_principled_hair_huang.h.
References atan2f, b, and fast_sincosf().
Referenced by bsdf_hair_huang_eval_residual(), and bsdf_hair_huang_sample().
| ccl_device_inline float2 to_point | ( | float | gamma, |
| float | b ) |
Definition at line 154 of file bsdf_principled_hair_huang.h.
References b, fast_sincosf(), and make_float2().
Referenced by bsdf_hair_huang_eval_residual(), and bsdf_hair_huang_sample().