|
Blender V5.0
|
#include "kernel/closure/bsdf_ashikhmin_velvet.h"#include "kernel/closure/bsdf_diffuse.h"#include "kernel/closure/bsdf_oren_nayar.h"#include "kernel/closure/bsdf_phong_ramp.h"#include "kernel/closure/bsdf_diffuse_ramp.h"#include "kernel/closure/bsdf_microfacet.h"#include "kernel/closure/bsdf_burley.h"#include "kernel/closure/bsdf_sheen.h"#include "kernel/closure/bsdf_transparent.h"#include "kernel/closure/bsdf_ray_portal.h"#include "kernel/closure/bsdf_ashikhmin_shirley.h"#include "kernel/closure/bsdf_toon.h"#include "kernel/closure/bsdf_hair.h"#include "kernel/closure/bsdf_principled_hair_chiang.h"#include "kernel/closure/bsdf_principled_hair_huang.h"Go to the source code of this file.
| ccl_device_inline Spectrum bsdf_albedo | ( | KernelGlobals | kg, |
| const ccl_private ShaderData * | sd, | ||
| const ccl_private ShaderClosure * | sc, | ||
| const bool | reflection, | ||
| const bool | transmission ) |
Definition at line 648 of file bsdf.h.
References bsdf_hair_chiang_albedo(), bsdf_hair_huang_albedo(), bsdf_microfacet_estimate_albedo(), ccl_device_inline, ccl_private, CLOSURE_BSDF_HAIR_CHIANG_ID, CLOSURE_BSDF_HAIR_HUANG_ID, and CLOSURE_IS_BSDF_MICROFACET.
Referenced by osl_closure_dielectric_bsdf_setup(), osl_closure_generalized_schlick_bsdf_setup(), osl_closure_microfacet_multi_ggx_aniso_setup(), osl_closure_microfacet_setup(), surface_shader_diffuse(), surface_shader_glossy(), surface_shader_transmission(), and svm_node_closure_bsdf().
| ccl_device void bsdf_blur | ( | ccl_private ShaderClosure * | sc, |
| const float | roughness ) |
Definition at line 617 of file bsdf.h.
References bsdf_ashikhmin_shirley_blur(), bsdf_hair_chiang_blur(), bsdf_hair_huang_blur(), bsdf_microfacet_blur(), ccl_device, ccl_private, CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, CLOSURE_BSDF_HAIR_CHIANG_ID, CLOSURE_BSDF_HAIR_HUANG_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_GLASS_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_GGX_ID, and CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID.
Referenced by surface_shader_prepare_closures().
| ccl_device Spectrum bsdf_eval | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const ccl_private ShaderClosure * | sc, | ||
| const float3 | wo, | ||
| ccl_private float * | pdf ) |
Definition at line 512 of file bsdf.h.
References bsdf_ashikhmin_shirley_eval(), bsdf_ashikhmin_velvet_eval(), bsdf_diffuse_eval(), bsdf_diffuse_toon_eval(), bsdf_glossy_toon_eval(), bsdf_hair_chiang_eval(), bsdf_hair_huang_eval(), bsdf_hair_reflection_eval(), bsdf_hair_transmission_eval(), bsdf_microfacet_beckmann_eval(), bsdf_microfacet_ggx_eval(), bsdf_oren_nayar_eval(), bsdf_ray_portal_eval(), bsdf_sheen_eval(), bsdf_translucent_eval(), bsdf_transparent_eval(), bump_shadowing_term(), ccl_private, CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, CLOSURE_BSDF_BURLEY_ID, CLOSURE_BSDF_DIFFUSE_ID, CLOSURE_BSDF_DIFFUSE_RAMP_ID, CLOSURE_BSDF_DIFFUSE_TOON_ID, CLOSURE_BSDF_GLOSSY_TOON_ID, CLOSURE_BSDF_HAIR_CHIANG_ID, CLOSURE_BSDF_HAIR_HUANG_ID, CLOSURE_BSDF_HAIR_REFLECTION_ID, CLOSURE_BSDF_HAIR_TRANSMISSION_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_GLASS_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_GGX_ID, CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, CLOSURE_BSDF_OREN_NAYAR_ID, CLOSURE_BSDF_PHONG_RAMP_ID, CLOSURE_BSDF_RAY_PORTAL_ID, CLOSURE_BSDF_SHEEN_ID, CLOSURE_BSDF_TRANSLUCENT_ID, CLOSURE_BSDF_TRANSPARENT_ID, dot(), kernel_assert, kernel_data_fetch, shift_cos_in(), float3::x, float3::y, float3::z, and zero_spectrum.
Referenced by _surface_shader_bsdf_eval_mis(), integrate_surface_bsdf_bssrdf_bounce(), integrate_surface_direct_light(), surface_shader_bsdf_eval(), surface_shader_bsdf_eval_pdfs(), and surface_shader_bsdf_sample_closure().
| ccl_device_inline float bsdf_get_roughness_pass_squared | ( | const ccl_private ShaderClosure * | sc | ) |
Definition at line 43 of file bsdf.h.
References bsdf_get_specular_roughness_squared(), ccl_device_inline, ccl_private, CLOSURE_BSDF_OREN_NAYAR_ID, CLOSURE_IS_BSDF_DIFFUSE, and sqr.
Referenced by surface_shader_average_roughness().
| CCL_NAMESPACE_BEGIN ccl_device_inline float bsdf_get_specular_roughness_squared | ( | const ccl_private ShaderClosure * | sc | ) |
Definition at line 29 of file bsdf.h.
References MicrofacetBsdf::alpha_x, ccl_device_inline, ccl_private, CLOSURE_IS_BSDF_MICROFACET, and CLOSURE_IS_BSDF_SINGULAR.
Referenced by bsdf_get_roughness_pass_squared(), bsdf_label(), bsdf_sample(), and guiding_write_debug_passes().
| ccl_device_inline bool bsdf_is_transmission | ( | const ccl_private ShaderClosure * | sc, |
| const float3 | wo ) |
Definition at line 139 of file bsdf.h.
References ccl_device_inline, ccl_private, and dot().
Referenced by bsdf_label(), and bsdf_roughness_eta().
| ccl_device_inline int bsdf_label | ( | const KernelGlobals | kg, |
| const ccl_private ShaderClosure * | sc, | ||
| const float3 | wo ) |
Definition at line 404 of file bsdf.h.
References bsdf_get_specular_roughness_squared(), bsdf_is_transmission(), bsdf_microfacet_eval_flag(), ccl_device_inline, ccl_private, CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, CLOSURE_BSDF_BURLEY_ID, CLOSURE_BSDF_DIFFUSE_ID, CLOSURE_BSDF_DIFFUSE_RAMP_ID, CLOSURE_BSDF_DIFFUSE_TOON_ID, CLOSURE_BSDF_GLOSSY_TOON_ID, CLOSURE_BSDF_HAIR_CHIANG_ID, CLOSURE_BSDF_HAIR_HUANG_ID, CLOSURE_BSDF_HAIR_REFLECTION_ID, CLOSURE_BSDF_HAIR_TRANSMISSION_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_GLASS_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_GGX_ID, CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, CLOSURE_BSDF_OREN_NAYAR_ID, CLOSURE_BSDF_PHONG_RAMP_ID, CLOSURE_BSDF_RAY_PORTAL_ID, CLOSURE_BSDF_SHEEN_ID, CLOSURE_BSDF_TRANSLUCENT_ID, CLOSURE_BSDF_TRANSPARENT_ID, CLOSURE_BSSRDF_BURLEY_ID, CLOSURE_BSSRDF_RANDOM_WALK_ID, CLOSURE_BSSRDF_RANDOM_WALK_SKIN_ID, kernel_data, LABEL_DIFFUSE, LABEL_GLOSSY, LABEL_NONE, LABEL_RAY_PORTAL, LABEL_REFLECT, LABEL_SINGULAR, LABEL_TRANSMIT, LABEL_TRANSMIT_TRANSPARENT, and LABEL_TRANSPARENT.
| ccl_device_inline void bsdf_roughness_eta | ( | const ccl_private ShaderClosure * | sc, |
| const float3 | wo, | ||
| ccl_private float2 * | roughness, | ||
| ccl_private float * | eta ) |
Definition at line 297 of file bsdf.h.
References bsdf_is_transmission(), ccl_device_inline, ccl_private, CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, CLOSURE_BSDF_BURLEY_ID, CLOSURE_BSDF_DIFFUSE_ID, CLOSURE_BSDF_DIFFUSE_RAMP_ID, CLOSURE_BSDF_DIFFUSE_TOON_ID, CLOSURE_BSDF_GLOSSY_TOON_ID, CLOSURE_BSDF_HAIR_CHIANG_ID, CLOSURE_BSDF_HAIR_HUANG_ID, CLOSURE_BSDF_HAIR_REFLECTION_ID, CLOSURE_BSDF_HAIR_TRANSMISSION_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_GLASS_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_GGX_ID, CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, CLOSURE_BSDF_OREN_NAYAR_ID, CLOSURE_BSDF_PHONG_RAMP_ID, CLOSURE_BSDF_RAY_PORTAL_ID, CLOSURE_BSDF_SHEEN_ID, CLOSURE_BSDF_TRANSLUCENT_ID, CLOSURE_BSDF_TRANSPARENT_ID, make_float2, one_float2(), and zero_float2().
| ccl_device_inline int bsdf_sample | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const ccl_private ShaderClosure * | sc, | ||
| const float3 | rand, | ||
| ccl_private Spectrum * | eval, | ||
| ccl_private float3 * | wo, | ||
| ccl_private float * | pdf, | ||
| ccl_private float2 * | sampled_roughness, | ||
| ccl_private float * | eta ) |
Definition at line 144 of file bsdf.h.
References bsdf_ashikhmin_shirley_sample(), bsdf_ashikhmin_velvet_sample(), bsdf_diffuse_sample(), bsdf_diffuse_toon_sample(), bsdf_get_specular_roughness_squared(), bsdf_glossy_toon_sample(), bsdf_hair_chiang_sample(), bsdf_hair_huang_sample(), bsdf_hair_reflection_sample(), bsdf_hair_transmission_sample(), bsdf_microfacet_beckmann_sample(), bsdf_microfacet_ggx_sample(), bsdf_oren_nayar_sample(), bsdf_sheen_sample(), bsdf_translucent_sample(), bsdf_transparent_sample(), bump_shadowing_term(), ccl_device_inline, ccl_private, CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, CLOSURE_BSDF_BURLEY_ID, CLOSURE_BSDF_DIFFUSE_ID, CLOSURE_BSDF_DIFFUSE_RAMP_ID, CLOSURE_BSDF_DIFFUSE_TOON_ID, CLOSURE_BSDF_GLOSSY_TOON_ID, CLOSURE_BSDF_HAIR_CHIANG_ID, CLOSURE_BSDF_HAIR_HUANG_ID, CLOSURE_BSDF_HAIR_REFLECTION_ID, CLOSURE_BSDF_HAIR_TRANSMISSION_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_GLASS_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_GGX_ID, CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, CLOSURE_BSDF_OREN_NAYAR_ID, CLOSURE_BSDF_PHONG_RAMP_ID, CLOSURE_BSDF_RAY_PORTAL_ID, CLOSURE_BSDF_SHEEN_ID, CLOSURE_BSDF_TRANSLUCENT_ID, CLOSURE_BSDF_TRANSPARENT_ID, dot(), kernel_assert, kernel_data, kernel_data_fetch, LABEL_DIFFUSE, LABEL_NONE, LABEL_TRANSMIT, LABEL_TRANSMIT_TRANSPARENT, make_float2, one_float2(), PRIMITIVE_CURVE, shift_cos_in(), zero_float2(), and zero_spectrum.
Referenced by surface_shader_bsdf_sample_closure().
| ccl_device_inline float bump_shadowing_term | ( | const ccl_private ShaderData * | sd, |
| const ccl_private ShaderClosure * | sc, | ||
| const float3 | I, | ||
| const bool | is_eval ) |
Definition at line 65 of file bsdf.h.
References bsdf_G(), ccl_device_inline, ccl_private, CLOSURE_IS_BSDF_DIFFUSE, dot(), fabsf, I, isequal(), PRIMITIVE_CURVE, saturatef, SD_USE_BUMP_MAP_CORRECTION, and sqr.
Referenced by bsdf_eval(), and bsdf_sample().
| ccl_device_inline float shift_cos_in | ( | float | cos_in, |
| const float | frequency_multiplier ) |
Definition at line 127 of file bsdf.h.
References angle(), ccl_device_inline, cosf, fast_acosf(), max, and min.
Referenced by bsdf_eval(), and bsdf_sample().