|
Blender V4.3
|
#include "kernel/closure/alloc.h"#include "kernel/closure/bsdf.h"#include "kernel/closure/emissive.h"#include "kernel/geom/object.h"#include "closures_template.h"Go to the source code of this file.
Macros | |
| #define | OSL_CLOSURE_STRUCT_BEGIN(Upper, lower) |
| #define | OSL_CLOSURE_STRUCT_END(Upper, lower) |
| #define | OSL_CLOSURE_STRUCT_MEMBER(Upper, TYPE, type, name, key) type name; |
| #define | OSL_CLOSURE_STRUCT_ARRAY_MEMBER(Upper, TYPE, type, name, key, size) type name[size]; |
| #define OSL_CLOSURE_STRUCT_ARRAY_MEMBER | ( | Upper, | |
| TYPE, | |||
| type, | |||
| name, | |||
| key, | |||
| size ) type name[size]; |
Definition at line 26 of file closures_setup.h.
| #define OSL_CLOSURE_STRUCT_BEGIN | ( | Upper, | |
| lower ) |
Definition at line 18 of file closures_setup.h.
| #define OSL_CLOSURE_STRUCT_END | ( | Upper, | |
| lower ) |
Definition at line 22 of file closures_setup.h.
| #define OSL_CLOSURE_STRUCT_MEMBER | ( | Upper, | |
| TYPE, | |||
| type, | |||
| name, | |||
| key ) type name; |
Definition at line 25 of file closures_setup.h.
| struct ccl_align | ( | 8 | ) |
Definition at line 16 of file closures_setup.h.
| ccl_device void osl_closure_absorption_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const VolumeAbsorptionClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 1057 of file closures_setup.h.
References object_volume_density(), rgb_to_spectrum(), and volume_extinction_setup().
| ccl_device void osl_closure_ashikhmin_velvet_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const AshikhminVelvetClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 659 of file closures_setup.h.
References bsdf_alloc(), bsdf_ashikhmin_velvet_setup(), ccl_private, LABEL_DIFFUSE, maybe_ensure_valid_specular_reflection(), osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_background_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | , | ||
| float3 | weight, | ||
| ccl_private const GenericBackgroundClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 790 of file closures_setup.h.
References background_setup(), and rgb_to_spectrum().
| ccl_device void osl_closure_bssrdf_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const BSSRDFClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 872 of file closures_setup.h.
References bssrdf(), bssrdf_alloc(), bssrdf_setup(), ccl_private, CLOSURE_BSSRDF_BURLEY_ID, CLOSURE_BSSRDF_RANDOM_WALK_ID, CLOSURE_BSSRDF_RANDOM_WALK_SKIN_ID, make_string(), maybe_ensure_valid_specular_reflection(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_conductor_bsdf_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const ConductorBSDFClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 318 of file closures_setup.h.
References bsdf_alloc(), bsdf_microfacet_beckmann_setup(), bsdf_microfacet_ggx_setup(), bsdf_microfacet_setup_fresnel_conductor(), ccl_private, closure_alloc_extra(), LABEL_GLOSSY, LABEL_REFLECT, make_string(), maybe_ensure_valid_specular_reflection(), osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_dielectric_bsdf_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const DielectricBSDFClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 239 of file closures_setup.h.
References bsdf_albedo(), bsdf_alloc(), bsdf_microfacet_beckmann_glass_setup(), bsdf_microfacet_beckmann_refraction_setup(), bsdf_microfacet_beckmann_setup(), bsdf_microfacet_ggx_glass_setup(), bsdf_microfacet_ggx_refraction_setup(), bsdf_microfacet_ggx_setup(), bsdf_microfacet_setup_fresnel_dielectric_tint(), ccl_private, closure_alloc_extra(), is_zero(), LABEL_GLOSSY, LABEL_REFLECT, make_string(), maybe_ensure_valid_specular_reflection(), NULL, one_float3(), osl_closure_skip(), osl_zero_albedo(), rgb_to_spectrum(), safe_normalize_fallback(), and ShaderClosure.
| ccl_device void osl_closure_diffuse_ramp_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | , | ||
| float3 | weight, | ||
| ccl_private const DiffuseRampClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 816 of file closures_setup.h.
References bsdf_alloc(), ccl_private, closure_alloc_extra(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_diffuse_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const DiffuseClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 78 of file closures_setup.h.
References bsdf_alloc(), bsdf_diffuse_setup(), ccl_private, LABEL_DIFFUSE, osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_diffuse_toon_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const DiffuseToonClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 718 of file closures_setup.h.
References bsdf_alloc(), bsdf_diffuse_toon_setup(), ccl_private, LABEL_DIFFUSE, maybe_ensure_valid_specular_reflection(), osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_draine_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const VolumeDraineClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 1108 of file closures_setup.h.
References bsdf_alloc(), ccl_private, DraineVolume::g, rgb_to_spectrum(), volume_draine_setup(), and volume_extinction_setup().
| ccl_device void osl_closure_emission_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | , | ||
| float3 | weight, | ||
| ccl_private const GenericEmissiveClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 772 of file closures_setup.h.
References emission_setup(), object_volume_density(), rgb_to_spectrum(), and SD_IS_VOLUME_SHADER_EVAL.
| ccl_device void osl_closure_fournier_forand_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const VolumeFournierForandClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 1089 of file closures_setup.h.
References bsdf_alloc(), ccl_private, rgb_to_spectrum(), volume_extinction_setup(), and volume_fournier_forand_setup().
| ccl_device void osl_closure_generalized_schlick_bsdf_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const GeneralizedSchlickBSDFClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 364 of file closures_setup.h.
References average(), bsdf_albedo(), bsdf_alloc(), bsdf_microfacet_beckmann_glass_setup(), bsdf_microfacet_beckmann_refraction_setup(), bsdf_microfacet_beckmann_setup(), bsdf_microfacet_ggx_glass_setup(), bsdf_microfacet_ggx_refraction_setup(), bsdf_microfacet_ggx_setup(), bsdf_microfacet_setup_fresnel_generalized_schlick(), ccl_private, closure_alloc_extra(), ior_from_F0(), is_zero(), kernel_data, label, LABEL_GLOSSY, LABEL_REFLECT, LABEL_TRANSMIT, make_string(), maybe_ensure_valid_specular_reflection(), NULL, one_float3(), osl_closure_skip(), osl_zero_albedo(), PATH_RAY_DIFFUSE, rgb_to_spectrum(), safe_normalize_fallback(), ShaderClosure, and zero_spectrum.
| ccl_device void osl_closure_glossy_toon_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const GlossyToonClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 742 of file closures_setup.h.
References bsdf_alloc(), bsdf_glossy_toon_setup(), ccl_private, LABEL_GLOSSY, maybe_ensure_valid_specular_reflection(), osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_hair_chiang_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const ChiangHairClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 966 of file closures_setup.h.
References bsdf_alloc(), ccl_private, LABEL_GLOSSY, maybe_ensure_valid_specular_reflection(), osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_hair_huang_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const HuangHairClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 996 of file closures_setup.h.
References bsdf_alloc(), ccl_private, closure_alloc_extra(), KernelCurve::first_key, kernel_data_fetch, LABEL_GLOSSY, mix, osl_closure_skip(), PATH_RAY_CAMERA, PRIMITIVE_CURVE, PRIMITIVE_UNPACK_SEGMENT, rgb_to_spectrum(), safe_normalize_fallback(), and w().
| ccl_device void osl_closure_hair_reflection_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const HairReflectionClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 913 of file closures_setup.h.
References bsdf_alloc(), bsdf_hair_reflection_setup(), ccl_private, LABEL_GLOSSY, maybe_ensure_valid_specular_reflection(), osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_hair_transmission_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const HairTransmissionClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 939 of file closures_setup.h.
References bsdf_alloc(), bsdf_hair_transmission_setup(), ccl_private, LABEL_GLOSSY, maybe_ensure_valid_specular_reflection(), osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_henyey_greenstein_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const VolumeHenyeyGreensteinClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 1067 of file closures_setup.h.
References bsdf_alloc(), ccl_private, HenyeyGreensteinVolume::g, object_volume_density(), rgb_to_spectrum(), volume_extinction_setup(), and volume_henyey_greenstein_setup().
| ccl_device void osl_closure_holdout_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | , | ||
| float3 | weight, | ||
| ccl_private const HoldoutClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 805 of file closures_setup.h.
References closure_alloc(), CLOSURE_HOLDOUT_ID, rgb_to_spectrum(), SD_HOLDOUT, and ShaderClosure.
| ccl_device void osl_closure_microfacet_f82_tint_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const MicrofacetF82TintClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 543 of file closures_setup.h.
References bsdf_alloc(), bsdf_microfacet_beckmann_setup(), bsdf_microfacet_ggx_setup(), bsdf_microfacet_setup_fresnel_f82_tint(), ccl_private, closure_alloc_extra(), LABEL_GLOSSY, LABEL_REFLECT, make_string(), maybe_ensure_valid_specular_reflection(), osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_microfacet_multi_ggx_aniso_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const MicrofacetMultiGGXClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 622 of file closures_setup.h.
References bsdf_albedo(), bsdf_alloc(), bsdf_microfacet_ggx_setup(), bsdf_microfacet_setup_fresnel_constant(), ccl_private, LABEL_GLOSSY, LABEL_REFLECT, maybe_ensure_valid_specular_reflection(), NULL, osl_closure_skip(), osl_zero_albedo(), rgb_to_spectrum(), safe_normalize_fallback(), and ShaderClosure.
| ccl_device void osl_closure_microfacet_multi_ggx_glass_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const MicrofacetMultiGGXGlassClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 590 of file closures_setup.h.
References bsdf_alloc(), bsdf_microfacet_ggx_glass_setup(), bsdf_microfacet_setup_fresnel_constant(), ccl_private, LABEL_GLOSSY, LABEL_REFLECT, maybe_ensure_valid_specular_reflection(), osl_closure_skip(), rgb_to_spectrum(), safe_normalize_fallback(), and zero_float3().
| ccl_device void osl_closure_microfacet_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const MicrofacetClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 471 of file closures_setup.h.
References bsdf_albedo(), bsdf_alloc(), bsdf_ashikhmin_shirley_setup(), bsdf_microfacet_beckmann_glass_setup(), bsdf_microfacet_beckmann_refraction_setup(), bsdf_microfacet_beckmann_setup(), bsdf_microfacet_ggx_glass_setup(), bsdf_microfacet_ggx_refraction_setup(), bsdf_microfacet_ggx_setup(), bsdf_microfacet_setup_fresnel_constant(), ccl_private, label, LABEL_GLOSSY, LABEL_REFLECT, LABEL_TRANSMIT, make_string(), maybe_ensure_valid_specular_reflection(), NULL, one_float3(), osl_closure_skip(), osl_zero_albedo(), rgb_to_spectrum(), safe_normalize_fallback(), and ShaderClosure.
| ccl_device void osl_closure_oren_nayar_diffuse_bsdf_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const OrenNayarDiffuseBSDFClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 124 of file closures_setup.h.
References bsdf_alloc(), bsdf_oren_nayar_setup(), ccl_private, LABEL_DIFFUSE, osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_oren_nayar_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const OrenNayarClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 101 of file closures_setup.h.
References bsdf_alloc(), bsdf_oren_nayar_setup(), ccl_private, LABEL_DIFFUSE, osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_phong_ramp_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | , | ||
| float3 | weight, | ||
| ccl_private const PhongRampClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 844 of file closures_setup.h.
References bsdf_alloc(), ccl_private, closure_alloc_extra(), maybe_ensure_valid_specular_reflection(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_ray_portal_bsdf_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const RayPortalBSDFClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 227 of file closures_setup.h.
References bsdf_ray_portal_setup(), and rgb_to_spectrum().
| ccl_device void osl_closure_rayleigh_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const VolumeRayleighClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 1129 of file closures_setup.h.
References bsdf_alloc(), ccl_private, rgb_to_spectrum(), volume_extinction_setup(), and volume_rayleigh_setup().
| ccl_device void osl_closure_reflection_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const ReflectionClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 170 of file closures_setup.h.
References bsdf_alloc(), bsdf_microfacet_ggx_setup(), ccl_private, LABEL_SINGULAR, maybe_ensure_valid_specular_reflection(), osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_refraction_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const RefractionClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 193 of file closures_setup.h.
References bsdf_alloc(), bsdf_microfacet_ggx_refraction_setup(), ccl_private, LABEL_SINGULAR, maybe_ensure_valid_specular_reflection(), osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_sheen_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const SheenClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 685 of file closures_setup.h.
References bsdf_alloc(), bsdf_sheen_setup(), ccl_private, LABEL_DIFFUSE, NULL, osl_closure_skip(), osl_zero_albedo(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device_forceinline bool osl_closure_skip | ( | KernelGlobals | kg, |
| ccl_private const ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| int | scattering ) |
Definition at line 47 of file closures_setup.h.
References kernel_data, LABEL_GLOSSY, LABEL_REFLECT, LABEL_TRANSMIT, and PATH_RAY_DIFFUSE.
Referenced by osl_closure_ashikhmin_velvet_setup(), osl_closure_conductor_bsdf_setup(), osl_closure_dielectric_bsdf_setup(), osl_closure_diffuse_setup(), osl_closure_diffuse_toon_setup(), osl_closure_generalized_schlick_bsdf_setup(), osl_closure_glossy_toon_setup(), osl_closure_hair_chiang_setup(), osl_closure_hair_huang_setup(), osl_closure_hair_reflection_setup(), osl_closure_hair_transmission_setup(), osl_closure_microfacet_f82_tint_setup(), osl_closure_microfacet_multi_ggx_aniso_setup(), osl_closure_microfacet_multi_ggx_glass_setup(), osl_closure_microfacet_setup(), osl_closure_oren_nayar_diffuse_bsdf_setup(), osl_closure_oren_nayar_setup(), osl_closure_reflection_setup(), osl_closure_refraction_setup(), osl_closure_sheen_setup(), and osl_closure_translucent_setup().
| ccl_device void osl_closure_translucent_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const TranslucentClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 148 of file closures_setup.h.
References bsdf_alloc(), bsdf_translucent_setup(), ccl_private, LABEL_DIFFUSE, osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_transparent_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const TransparentClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 217 of file closures_setup.h.
References bsdf_transparent_setup(), and rgb_to_spectrum().
| ccl_device_forceinline void osl_zero_albedo | ( | float3 * | layer_albedo | ) |
Definition at line 40 of file closures_setup.h.
References NULL, and zero_float3().
Referenced by osl_closure_dielectric_bsdf_setup(), osl_closure_generalized_schlick_bsdf_setup(), osl_closure_microfacet_multi_ggx_aniso_setup(), osl_closure_microfacet_setup(), and osl_closure_sheen_setup().