|
Blender
V2.93
|
#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_microfacet_multi.h"#include "kernel/closure/bsdf_reflection.h"#include "kernel/closure/bsdf_refraction.h"#include "kernel/closure/bsdf_transparent.h"#include "kernel/closure/bsdf_ashikhmin_shirley.h"#include "kernel/closure/bsdf_toon.h"#include "kernel/closure/bsdf_hair.h"#include "kernel/closure/bsdf_hair_principled.h"#include "kernel/closure/bsdf_principled_diffuse.h"#include "kernel/closure/bsdf_principled_sheen.h"#include "kernel/closure/bssrdf.h"#include "kernel/closure/volume.h"Go to the source code of this file.
Functions | |
| CCL_NAMESPACE_BEGIN ccl_device_inline float | bsdf_get_specular_roughness_squared (const ShaderClosure *sc) |
| ccl_device_inline float | bsdf_get_roughness_squared (const ShaderClosure *sc) |
| ccl_device_inline float | bump_shadowing_term (float3 Ng, float3 N, float3 I) |
| ccl_device_inline float | shift_cos_in (float cos_in, const float frequency_multiplier) |
| ccl_device_inline int | bsdf_sample (KernelGlobals *kg, ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, differential3 *domega_in, float *pdf) |
| ccl_device float3 | bsdf_eval (KernelGlobals *kg, ShaderData *sd, const ShaderClosure *sc, const float3 omega_in, float *pdf) |
| ccl_device void | bsdf_blur (KernelGlobals *kg, ShaderClosure *sc, float roughness) |
| ccl_device bool | bsdf_merge (ShaderClosure *a, ShaderClosure *b) |
| ccl_device void bsdf_blur | ( | KernelGlobals * | kg, |
| ShaderClosure * | sc, | ||
| float | roughness | ||
| ) |
Definition at line 688 of file bsdf.h.
References bsdf_ashikhmin_shirley_blur(), bsdf_microfacet_beckmann_blur(), bsdf_microfacet_ggx_blur(), bsdf_microfacet_multi_ggx_blur(), bsdf_principled_hair_blur(), CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, CLOSURE_BSDF_HAIR_PRINCIPLED_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID, CLOSURE_BSDF_MICROFACET_GGX_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_GGX_ID, CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_ID, and usdtokens::roughness().
Referenced by shader_bsdf_blur().
| ccl_device float3 bsdf_eval | ( | KernelGlobals * | kg, |
| ShaderData * | sd, | ||
| const ShaderClosure * | sc, | ||
| const float3 | omega_in, | ||
| float * | |||
| ) |
Definition at line 485 of file bsdf.h.
References bsdf_ashikhmin_shirley_eval_reflect(), bsdf_ashikhmin_shirley_eval_transmit(), bsdf_ashikhmin_velvet_eval_reflect(), bsdf_ashikhmin_velvet_eval_transmit(), bsdf_diffuse_eval_reflect(), bsdf_diffuse_eval_transmit(), bsdf_diffuse_toon_eval_reflect(), bsdf_diffuse_toon_eval_transmit(), bsdf_glossy_toon_eval_reflect(), bsdf_glossy_toon_eval_transmit(), bsdf_hair_reflection_eval_reflect(), bsdf_hair_reflection_eval_transmit(), bsdf_hair_transmission_eval_reflect(), bsdf_hair_transmission_eval_transmit(), bsdf_microfacet_beckmann_eval_reflect(), bsdf_microfacet_beckmann_eval_transmit(), bsdf_microfacet_ggx_eval_reflect(), bsdf_microfacet_ggx_eval_transmit(), bsdf_microfacet_multi_ggx_eval_reflect(), bsdf_microfacet_multi_ggx_eval_transmit(), bsdf_microfacet_multi_ggx_glass_eval_reflect(), bsdf_microfacet_multi_ggx_glass_eval_transmit(), bsdf_oren_nayar_eval_reflect(), bsdf_oren_nayar_eval_transmit(), bsdf_principled_diffuse_eval_reflect(), bsdf_principled_diffuse_eval_transmit(), bsdf_principled_hair_eval(), bsdf_principled_sheen_eval_reflect(), bsdf_principled_sheen_eval_transmit(), bsdf_reflection_eval_reflect(), bsdf_reflection_eval_transmit(), bsdf_refraction_eval_reflect(), bsdf_refraction_eval_transmit(), bsdf_translucent_eval_reflect(), bsdf_translucent_eval_transmit(), bsdf_transparent_eval_reflect(), bsdf_transparent_eval_transmit(), bump_shadowing_term(), CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, CLOSURE_BSDF_BSSRDF_ID, CLOSURE_BSDF_BSSRDF_PRINCIPLED_ID, CLOSURE_BSDF_DIFFUSE_ID, CLOSURE_BSDF_DIFFUSE_RAMP_ID, CLOSURE_BSDF_DIFFUSE_TOON_ID, CLOSURE_BSDF_GLOSSY_TOON_ID, CLOSURE_BSDF_HAIR_PRINCIPLED_ID, CLOSURE_BSDF_HAIR_REFLECTION_ID, CLOSURE_BSDF_HAIR_TRANSMISSION_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID, CLOSURE_BSDF_MICROFACET_GGX_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_GGX_ID, CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_ID, CLOSURE_BSDF_OREN_NAYAR_ID, CLOSURE_BSDF_PHONG_RAMP_ID, CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID, CLOSURE_BSDF_PRINCIPLED_SHEEN_ID, CLOSURE_BSDF_REFLECTION_ID, CLOSURE_BSDF_REFRACTION_ID, CLOSURE_BSDF_TRANSLUCENT_ID, CLOSURE_BSDF_TRANSPARENT_ID, CLOSURE_IS_BSDF_DIFFUSE, CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID, dot(), if(), isequal_float3(), kernel_tex_fetch, kg, make_float3, PRIMITIVE_ALL_CURVE, shift_cos_in(), and volume_henyey_greenstein_eval_phase().
Referenced by _shader_bsdf_multi_eval(), kernel_path_surface_bounce(), path_radiance_accum_light(), path_radiance_accum_total_light(), path_radiance_bsdf_bounce(), shader_bsdf_sample(), and shader_bsdf_sample_closure().
| ccl_device_inline float bsdf_get_roughness_squared | ( | const ShaderClosure * | sc | ) |
Definition at line 56 of file bsdf.h.
References bsdf_get_specular_roughness_squared(), CLOSURE_BSDF_OREN_NAYAR_ID, CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID, CLOSURE_IS_BSDF_DIFFUSE, OrenNayarBsdf::roughness, PrincipledDiffuseBsdf::roughness, and sqr().
Referenced by shader_bsdf_average_roughness().
| CCL_NAMESPACE_BEGIN ccl_device_inline float bsdf_get_specular_roughness_squared | ( | const ShaderClosure * | sc | ) |
Definition at line 42 of file bsdf.h.
References MicrofacetBsdf::alpha_x, MicrofacetBsdf::alpha_y, CLOSURE_IS_BSDF_MICROFACET, and CLOSURE_IS_BSDF_SINGULAR.
Referenced by bsdf_get_roughness_squared(), and bsdf_sample().
| ccl_device bool bsdf_merge | ( | ShaderClosure * | a, |
| ShaderClosure * | b | ||
| ) |
Definition at line 721 of file bsdf.h.
References Freestyle::a, bsdf_ashikhmin_velvet_merge(), bsdf_diffuse_merge(), bsdf_hair_merge(), bsdf_microfacet_merge(), bsdf_oren_nayar_merge(), bsdf_principled_diffuse_merge(), bsdf_toon_merge(), CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, CLOSURE_BSDF_BSSRDF_ID, CLOSURE_BSDF_BSSRDF_PRINCIPLED_ID, CLOSURE_BSDF_DIFFUSE_ID, CLOSURE_BSDF_DIFFUSE_TOON_ID, CLOSURE_BSDF_GLOSSY_TOON_ID, CLOSURE_BSDF_HAIR_REFLECTION_ID, CLOSURE_BSDF_HAIR_TRANSMISSION_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID, CLOSURE_BSDF_MICROFACET_GGX_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_GGX_ID, CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_ID, CLOSURE_BSDF_OREN_NAYAR_ID, CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID, CLOSURE_BSDF_REFLECTION_ID, CLOSURE_BSDF_REFRACTION_ID, CLOSURE_BSDF_TRANSLUCENT_ID, CLOSURE_BSDF_TRANSPARENT_ID, CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID, and volume_henyey_greenstein_merge().
| ccl_device_inline int bsdf_sample | ( | KernelGlobals * | kg, |
| ShaderData * | sd, | ||
| const ShaderClosure * | sc, | ||
| float | randu, | ||
| float | randv, | ||
| float3 * | eval, | ||
| float3 * | omega_in, | ||
| differential3 * | domega_in, | ||
| float * | |||
| ) |
Definition at line 112 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_reflection_sample(), bsdf_hair_transmission_sample(), bsdf_microfacet_beckmann_sample(), bsdf_microfacet_ggx_sample(), bsdf_microfacet_multi_ggx_glass_sample(), bsdf_microfacet_multi_ggx_sample(), bsdf_oren_nayar_sample(), bsdf_principled_diffuse_sample(), bsdf_principled_hair_sample(), bsdf_principled_sheen_sample(), bsdf_reflection_sample(), bsdf_refraction_sample(), bsdf_translucent_sample(), bsdf_transparent_sample(), bump_shadowing_term(), CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, CLOSURE_BSDF_BSSRDF_ID, CLOSURE_BSDF_BSSRDF_PRINCIPLED_ID, CLOSURE_BSDF_DIFFUSE_ID, CLOSURE_BSDF_DIFFUSE_RAMP_ID, CLOSURE_BSDF_DIFFUSE_TOON_ID, CLOSURE_BSDF_GLOSSY_TOON_ID, CLOSURE_BSDF_HAIR_PRINCIPLED_ID, CLOSURE_BSDF_HAIR_REFLECTION_ID, CLOSURE_BSDF_HAIR_TRANSMISSION_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_GGX_CLEARCOAT_ID, CLOSURE_BSDF_MICROFACET_GGX_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_GGX_ID, CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_FRESNEL_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_ID, CLOSURE_BSDF_OREN_NAYAR_ID, CLOSURE_BSDF_PHONG_RAMP_ID, CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID, CLOSURE_BSDF_PRINCIPLED_SHEEN_ID, CLOSURE_BSDF_REFLECTION_ID, CLOSURE_BSDF_REFRACTION_ID, CLOSURE_BSDF_TRANSLUCENT_ID, CLOSURE_BSDF_TRANSPARENT_ID, CLOSURE_VOLUME_HENYEY_GREENSTEIN_ID, dot(), differential3::dx, differential3::dy, isequal_float3(), kernel_data, kernel_tex_fetch, kg, label, LABEL_DIFFUSE, LABEL_NONE, LABEL_TRANSMIT, LABEL_TRANSMIT_TRANSPARENT, PRIMITIVE_ALL_CURVE, shift_cos_in(), and volume_henyey_greenstein_sample().
Referenced by shader_bsdf_sample(), and shader_bsdf_sample_closure().
| ccl_device_inline float bump_shadowing_term | ( | float3 | Ng, |
| float3 | N, | ||
| float3 | I | ||
| ) |
Definition at line 81 of file bsdf.h.
References dot(), I, N, safe_divide(), 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 103 of file bsdf.h.
References angle(), cosf, fast_acosf(), max, and min.
Referenced by bsdf_eval(), and bsdf_sample().