Blender
V3.3
|
Go to the source code of this file.
Functions | |
CCL_NAMESPACE_BEGIN ccl_device float | fresnel_dielectric (float eta, const float3 N, const float3 I, ccl_private float3 *R, ccl_private float3 *T, ccl_private bool *is_inside) |
ccl_device float | fresnel_dielectric_cos (float cosi, float eta) |
ccl_device float3 | fresnel_conductor (float cosi, const float3 eta, const float3 k) |
ccl_device float | schlick_fresnel (float u) |
ccl_device_forceinline float3 | interpolate_fresnel_color (float3 L, float3 H, float ior, float F0, float3 cspec0) |
ccl_device float3 | ensure_valid_reflection (float3 Ng, float3 I, float3 N) |
ccl_device float3 ensure_valid_reflection | ( | float3 | Ng, |
float3 | I, | ||
float3 | N | ||
) |
Definition at line 127 of file bsdf_util.h.
References Freestyle::a, usdtokens::b(), Freestyle::c, blender::math::dot(), I, make_float2, min, N, blender::math::normalize(), R, safe_sqrtf(), sqr(), threshold, float2::x, X, and float2::y.
Referenced by CBSSRDFClosure::setup(), PrincipledSheenClosure::setup(), PrincipledHairClosure::setup(), PrincipledClearcoatClosure::setup(), MicrofacetClosure::setup(), MicrofacetGGXFresnelClosure::setup(), MicrofacetGGXAnisoFresnelClosure::setup(), MicrofacetMultiGGXClosure::setup(), MicrofacetMultiGGXAnisoClosure::setup(), MicrofacetMultiGGXGlassClosure::setup(), MicrofacetMultiGGXFresnelClosure::setup(), MicrofacetMultiGGXAnisoFresnelClosure::setup(), MicrofacetMultiGGXGlassFresnelClosure::setup(), DiffuseRampClosure::setup(), PhongRampClosure::setup(), svm_node_closure_bsdf(), and svm_node_set_bump().
ccl_device float3 fresnel_conductor | ( | float | cosi, |
const float3 | eta, | ||
const float3 | k | ||
) |
Definition at line 94 of file bsdf_util.h.
References make_float3.
CCL_NAMESPACE_BEGIN ccl_device float fresnel_dielectric | ( | float | eta, |
const float3 | N, | ||
const float3 | I, | ||
ccl_private float3 * | R, | ||
ccl_private float3 * | T, | ||
ccl_private bool * | is_inside | ||
) |
Definition at line 13 of file bsdf_util.h.
References KDL::cos(), blender::math::dot(), I, is_inside(), make_float3, max, N, R, sqrtf, and T.
Referenced by bsdf_microfacet_beckmann_sample(), bsdf_microfacet_ggx_sample(), bsdf_microfacet_multi_ggx_glass_sample(), and bsdf_refraction_sample().
ccl_device float fresnel_dielectric_cos | ( | float | cosi, |
float | eta | ||
) |
Definition at line 79 of file bsdf_util.h.
References A, B, Freestyle::c, fabsf, usdtokens::g(), and sqrtf.
Referenced by bsdf_microfacet_fresnel_color(), bsdf_principled_hair_eval(), bsdf_principled_hair_sample(), interpolate_fresnel_color(), mf_eval(), mf_eval_phase_glass(), mf_glass_pdf(), mf_sample(), mf_sample_phase_glass(), reflection_color(), svm_node_closure_bsdf(), svm_node_fresnel(), and svm_node_layer_weight().
ccl_device_forceinline float3 interpolate_fresnel_color | ( | float3 | L, |
float3 | H, | ||
float | ior, | ||
float | F0, | ||
float3 | cspec0 | ||
) |
Definition at line 114 of file bsdf_util.h.
References blender::math::dot(), FH, fresnel_dielectric_cos(), H, usdtokens::ior(), L, and make_float3.
Referenced by bsdf_microfacet_fresnel_color(), mf_eval(), mf_sample(), and reflection_color().
ccl_device float schlick_fresnel | ( | float | u | ) |
Definition at line 105 of file bsdf_util.h.
References blender::math::clamp().
Referenced by bsdf_principled_diffuse_compute_brdf(), bsdf_principled_diffuse_compute_entry_fresnel(), bsdf_principled_diffuse_retro_reflection_sample_weight(), calculate_avg_principled_sheen_brdf(), and calculate_principled_sheen_brdf().