|
Blender V5.0
|
#include "kernel/closure/alloc.h"#include "kernel/closure/bsdf.h"#include "kernel/closure/bssrdf.h"#include "kernel/closure/emissive.h"#include "kernel/closure/volume.h"#include "kernel/geom/object.h"#include "kernel/osl/types.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) |
| #define | OSL_CLOSURE_STRUCT_ARRAY_MEMBER(Upper, TYPE, type, name, key, size) |
Functions | |
| struct | ccl_align (8) LayerClosure |
| ccl_device_forceinline void | osl_zero_albedo (float3 *layer_albedo) |
| ccl_device_forceinline bool | osl_closure_skip (KernelGlobals kg, const uint32_t path_flag, const int scattering) |
| ccl_device void | osl_closure_diffuse_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private DiffuseClosure *closure, float3 *) |
| ccl_device void | osl_closure_oren_nayar_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private OrenNayarClosure *closure, float3 *) |
| ccl_device void | osl_closure_oren_nayar_diffuse_bsdf_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private OrenNayarDiffuseBSDFClosure *closure, float3 *) |
| ccl_device void | osl_closure_burley_diffuse_bsdf_setup (KernelGlobals kg, ccl_private ShaderData *sd, uint32_t path_flag, float3 weight, ccl_private const BurleyDiffuseBSDFClosure *closure, float3 *) |
| ccl_device void | osl_closure_translucent_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private TranslucentClosure *closure, float3 *) |
| ccl_device void | osl_closure_reflection_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private ReflectionClosure *closure, float3 *) |
| ccl_device void | osl_closure_refraction_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private RefractionClosure *closure, float3 *) |
| ccl_device void | osl_closure_transparent_setup (KernelGlobals, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private TransparentClosure *, float3 *) |
| ccl_device void | osl_closure_ray_portal_bsdf_setup (KernelGlobals, ccl_private ShaderData *sd, const uint32_t, const float3 weight, const ccl_private RayPortalBSDFClosure *closure, float3 *) |
| ccl_device void | osl_closure_dielectric_bsdf_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private DielectricBSDFClosure *closure, float3 *layer_albedo) |
| ccl_device void | osl_closure_conductor_bsdf_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private ConductorBSDFClosure *closure, float3 *) |
| ccl_device void | osl_closure_generalized_schlick_bsdf_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private GeneralizedSchlickBSDFClosure *closure, float3 *layer_albedo) |
| ccl_device void | osl_closure_microfacet_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private MicrofacetClosure *closure, float3 *layer_albedo) |
| ccl_device void | osl_closure_microfacet_f82_tint_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private MicrofacetF82TintClosure *closure, float3 *) |
| ccl_device void | osl_closure_microfacet_multi_ggx_glass_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private MicrofacetMultiGGXGlassClosure *closure, float3 *) |
| ccl_device void | osl_closure_microfacet_multi_ggx_aniso_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private MicrofacetMultiGGXClosure *closure, float3 *layer_albedo) |
| ccl_device void | osl_closure_ashikhmin_velvet_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private AshikhminVelvetClosure *closure, float3 *) |
| ccl_device void | osl_closure_sheen_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private SheenClosure *closure, float3 *layer_albedo) |
| ccl_device void | osl_closure_sheen_bsdf_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private SheenBSDFClosure *closure, float3 *layer_albedo) |
| ccl_device void | osl_closure_diffuse_toon_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private DiffuseToonClosure *closure, float3 *) |
| ccl_device void | osl_closure_glossy_toon_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private GlossyToonClosure *closure, float3 *) |
| ccl_device void | osl_closure_emission_setup (KernelGlobals kg, ccl_private ShaderData *sd, uint32_t, float3 weight, const ccl_private GenericEmissiveClosure *, float3 *) |
| ccl_device void | osl_closure_background_setup (KernelGlobals, ccl_private ShaderData *sd, uint32_t, const float3 weight, const ccl_private GenericBackgroundClosure *, float3 *) |
| ccl_device void | osl_closure_uniform_edf_setup (KernelGlobals kg, ccl_private ShaderData *sd, uint32_t, float3 weight, const ccl_private UniformEDFClosure *closure, float3 *) |
| ccl_device void | osl_closure_holdout_setup (KernelGlobals, ccl_private ShaderData *sd, uint32_t, const float3 weight, const ccl_private HoldoutClosure *, float3 *) |
| ccl_device void | osl_closure_diffuse_ramp_setup (KernelGlobals, ccl_private ShaderData *sd, uint32_t, const float3 weight, const ccl_private DiffuseRampClosure *closure, float3 *) |
| ccl_device void | osl_closure_phong_ramp_setup (KernelGlobals, ccl_private ShaderData *sd, uint32_t, const float3 weight, const ccl_private PhongRampClosure *closure, float3 *) |
| ccl_device void | osl_closure_bssrdf_setup (KernelGlobals, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private BSSRDFClosure *closure, float3 *) |
| ccl_device void | osl_closure_subsurface_bssrdf_setup (KernelGlobals, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private SubsurfaceBSSRDFClosure *closure, float3 *) |
| ccl_device void | osl_closure_hair_reflection_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private HairReflectionClosure *closure, float3 *) |
| ccl_device void | osl_closure_hair_transmission_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private HairTransmissionClosure *closure, float3 *) |
| ccl_device void | osl_closure_hair_chiang_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private ChiangHairClosure *closure, float3 *) |
| ccl_device void | osl_closure_hair_huang_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t path_flag, const float3 weight, const ccl_private HuangHairClosure *closure, float3 *) |
| ccl_device void | osl_closure_absorption_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t, float3 weight, const ccl_private VolumeAbsorptionClosure *, float3 *) |
| ccl_device void | osl_closure_henyey_greenstein_setup (KernelGlobals kg, ccl_private ShaderData *sd, const uint32_t, float3 weight, const ccl_private VolumeHenyeyGreensteinClosure *closure, float3 *) |
| ccl_device void | osl_closure_fournier_forand_setup (KernelGlobals, ccl_private ShaderData *sd, const uint32_t, const float3 weight, const ccl_private VolumeFournierForandClosure *closure, float3 *) |
| ccl_device void | osl_closure_draine_setup (KernelGlobals, ccl_private ShaderData *sd, const uint32_t, const float3 weight, const ccl_private VolumeDraineClosure *closure, float3 *) |
| ccl_device void | osl_closure_rayleigh_setup (KernelGlobals, ccl_private ShaderData *sd, const uint32_t, const float3 weight, const ccl_private VolumeRayleighClosure *, float3 *) |
Definition at line 29 of file closures_setup.h.
| #define OSL_CLOSURE_STRUCT_BEGIN | ( | Upper, | |
| lower ) |
Definition at line 22 of file closures_setup.h.
| #define OSL_CLOSURE_STRUCT_END | ( | Upper, | |
| lower ) |
Definition at line 25 of file closures_setup.h.
| #define OSL_CLOSURE_STRUCT_MEMBER | ( | Upper, | |
| TYPE, | |||
| type, | |||
| name, | |||
| key ) |
Definition at line 28 of file closures_setup.h.
| struct ccl_align | ( | 8 | ) |
Definition at line 20 of file closures_setup.h.
| ccl_device void osl_closure_absorption_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | , | ||
| float3 | weight, | ||
| const ccl_private VolumeAbsorptionClosure * | , | ||
| float3 * | ) |
Definition at line 1168 of file closures_setup.h.
References ccl_device, ccl_private, object_volume_density(), rgb_to_spectrum(), and volume_extinction_setup().
| ccl_device void osl_closure_ashikhmin_velvet_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private AshikhminVelvetClosure * | closure, | ||
| float3 * | ) |
Definition at line 687 of file closures_setup.h.
References bsdf_alloc(), bsdf_ashikhmin_velvet_setup(), ccl_device, 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 | , |
| ccl_private ShaderData * | sd, | ||
| uint32_t | , | ||
| const float3 | weight, | ||
| const ccl_private GenericBackgroundClosure * | , | ||
| float3 * | ) |
Definition at line 852 of file closures_setup.h.
References background_setup(), ccl_device, ccl_private, and rgb_to_spectrum().
| ccl_device void osl_closure_bssrdf_setup | ( | KernelGlobals | , |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private BSSRDFClosure * | closure, | ||
| float3 * | ) |
Definition at line 954 of file closures_setup.h.
References bssrdf(), bssrdf_alloc(), bssrdf_setup(), ccl_device, 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_burley_diffuse_bsdf_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | path_flag, | ||
| float3 | weight, | ||
| ccl_private const BurleyDiffuseBSDFClosure * | closure, | ||
| float3 * | ) |
Definition at line 149 of file closures_setup.h.
References bsdf_alloc(), ccl_device, ccl_private, LABEL_DIFFUSE, osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_conductor_bsdf_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private ConductorBSDFClosure * | closure, | ||
| float3 * | ) |
Definition at line 341 of file closures_setup.h.
References bsdf_alloc(), bsdf_microfacet_beckmann_setup(), bsdf_microfacet_ggx_setup(), bsdf_microfacet_setup_fresnel_conductor(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private DielectricBSDFClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 262 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_device, ccl_private, closure_alloc_extra(), is_zero(), LABEL_GLOSSY, LABEL_REFLECT, make_string(), maybe_ensure_valid_specular_reflection(), one_float3(), osl_closure_skip(), osl_zero_albedo(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_diffuse_ramp_setup | ( | KernelGlobals | , |
| ccl_private ShaderData * | sd, | ||
| uint32_t | , | ||
| const float3 | weight, | ||
| const ccl_private DiffuseRampClosure * | closure, | ||
| float3 * | ) |
Definition at line 898 of file closures_setup.h.
References bsdf_alloc(), ccl_device, ccl_private, closure_alloc_extra(), i, rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_diffuse_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private DiffuseClosure * | closure, | ||
| float3 * | ) |
Definition at line 79 of file closures_setup.h.
References bsdf_alloc(), bsdf_diffuse_setup(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private DiffuseToonClosure * | closure, | ||
| float3 * | ) |
Definition at line 780 of file closures_setup.h.
References bsdf_alloc(), bsdf_diffuse_toon_setup(), ccl_device, 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 | , |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | , | ||
| const float3 | weight, | ||
| const ccl_private VolumeDraineClosure * | closure, | ||
| float3 * | ) |
Definition at line 1220 of file closures_setup.h.
References bsdf_alloc(), ccl_device, 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, | ||
| const ccl_private GenericEmissiveClosure * | , | ||
| float3 * | ) |
Definition at line 834 of file closures_setup.h.
References ccl_device, ccl_private, emission_setup(), object_volume_density(), rgb_to_spectrum(), and SD_IS_VOLUME_SHADER_EVAL.
| ccl_device void osl_closure_fournier_forand_setup | ( | KernelGlobals | , |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | , | ||
| const float3 | weight, | ||
| const ccl_private VolumeFournierForandClosure * | closure, | ||
| float3 * | ) |
Definition at line 1201 of file closures_setup.h.
References bsdf_alloc(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private GeneralizedSchlickBSDFClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 389 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_device, ccl_private, closure_alloc_extra(), ior_from_F0(), is_zero(), kernel_data, LABEL_GLOSSY, LABEL_REFLECT, LABEL_TRANSMIT, make_string(), maybe_ensure_valid_specular_reflection(), one_float3(), osl_closure_skip(), osl_zero_albedo(), PATH_RAY_DIFFUSE, rgb_to_spectrum(), safe_normalize_fallback(), and zero_spectrum.
| ccl_device void osl_closure_glossy_toon_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private GlossyToonClosure * | closure, | ||
| float3 * | ) |
Definition at line 804 of file closures_setup.h.
References bsdf_alloc(), bsdf_glossy_toon_setup(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private ChiangHairClosure * | closure, | ||
| float3 * | ) |
Definition at line 1077 of file closures_setup.h.
References bsdf_alloc(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private HuangHairClosure * | closure, | ||
| float3 * | ) |
Definition at line 1107 of file closures_setup.h.
References bsdf_alloc(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private HairReflectionClosure * | closure, | ||
| float3 * | ) |
Definition at line 1024 of file closures_setup.h.
References bsdf_alloc(), bsdf_hair_reflection_setup(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private HairTransmissionClosure * | closure, | ||
| float3 * | ) |
Definition at line 1050 of file closures_setup.h.
References bsdf_alloc(), bsdf_hair_transmission_setup(), ccl_device, 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, | ||
| const uint32_t | , | ||
| float3 | weight, | ||
| const ccl_private VolumeHenyeyGreensteinClosure * | closure, | ||
| float3 * | ) |
Definition at line 1179 of file closures_setup.h.
References bsdf_alloc(), ccl_device, 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 | , |
| ccl_private ShaderData * | sd, | ||
| uint32_t | , | ||
| const float3 | weight, | ||
| const ccl_private HoldoutClosure * | , | ||
| float3 * | ) |
Definition at line 887 of file closures_setup.h.
References ccl_device, ccl_private, closure_alloc(), CLOSURE_HOLDOUT_ID, rgb_to_spectrum(), and SD_HOLDOUT.
| ccl_device void osl_closure_microfacet_f82_tint_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private MicrofacetF82TintClosure * | closure, | ||
| float3 * | ) |
Definition at line 568 of file closures_setup.h.
References bsdf_alloc(), bsdf_microfacet_beckmann_setup(), bsdf_microfacet_ggx_setup(), bsdf_microfacet_setup_fresnel_f82_tint(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private MicrofacetMultiGGXClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 650 of file closures_setup.h.
References bsdf_albedo(), bsdf_alloc(), bsdf_microfacet_ggx_setup(), bsdf_microfacet_setup_fresnel_constant(), ccl_device, ccl_private, LABEL_GLOSSY, LABEL_REFLECT, maybe_ensure_valid_specular_reflection(), osl_closure_skip(), osl_zero_albedo(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_microfacet_multi_ggx_glass_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private MicrofacetMultiGGXGlassClosure * | closure, | ||
| float3 * | ) |
Definition at line 618 of file closures_setup.h.
References bsdf_alloc(), bsdf_microfacet_ggx_glass_setup(), bsdf_microfacet_setup_fresnel_constant(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private MicrofacetClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 496 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_device, ccl_private, LABEL_GLOSSY, LABEL_REFLECT, LABEL_TRANSMIT, make_string(), maybe_ensure_valid_specular_reflection(), one_float3(), osl_closure_skip(), osl_zero_albedo(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_oren_nayar_diffuse_bsdf_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private OrenNayarDiffuseBSDFClosure * | closure, | ||
| float3 * | ) |
Definition at line 125 of file closures_setup.h.
References bsdf_alloc(), bsdf_oren_nayar_setup(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private OrenNayarClosure * | closure, | ||
| float3 * | ) |
Definition at line 102 of file closures_setup.h.
References bsdf_alloc(), bsdf_oren_nayar_setup(), ccl_device, ccl_private, LABEL_DIFFUSE, osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_phong_ramp_setup | ( | KernelGlobals | , |
| ccl_private ShaderData * | sd, | ||
| uint32_t | , | ||
| const float3 | weight, | ||
| const ccl_private PhongRampClosure * | closure, | ||
| float3 * | ) |
Definition at line 926 of file closures_setup.h.
References bsdf_alloc(), ccl_device, ccl_private, closure_alloc_extra(), i, maybe_ensure_valid_specular_reflection(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_ray_portal_bsdf_setup | ( | KernelGlobals | , |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | , | ||
| const float3 | weight, | ||
| const ccl_private RayPortalBSDFClosure * | closure, | ||
| float3 * | ) |
Definition at line 251 of file closures_setup.h.
References bsdf_ray_portal_setup(), ccl_device, ccl_private, and rgb_to_spectrum().
| ccl_device void osl_closure_rayleigh_setup | ( | KernelGlobals | , |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | , | ||
| const float3 | weight, | ||
| const ccl_private VolumeRayleighClosure * | , | ||
| float3 * | ) |
Definition at line 1241 of file closures_setup.h.
References bsdf_alloc(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private ReflectionClosure * | closure, | ||
| float3 * | ) |
Definition at line 194 of file closures_setup.h.
References bsdf_alloc(), bsdf_microfacet_ggx_setup(), ccl_device, 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, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private RefractionClosure * | closure, | ||
| float3 * | ) |
Definition at line 217 of file closures_setup.h.
References bsdf_alloc(), bsdf_microfacet_ggx_refraction_setup(), ccl_device, 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_bsdf_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private SheenBSDFClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 747 of file closures_setup.h.
References bsdf_alloc(), bsdf_sheen_setup(), ccl_device, ccl_private, LABEL_DIFFUSE, osl_closure_skip(), osl_zero_albedo(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_sheen_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private SheenClosure * | closure, | ||
| float3 * | layer_albedo ) |
Definition at line 713 of file closures_setup.h.
References bsdf_alloc(), bsdf_sheen_setup(), ccl_device, ccl_private, LABEL_DIFFUSE, osl_closure_skip(), osl_zero_albedo(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device_forceinline bool osl_closure_skip | ( | KernelGlobals | kg, |
| const uint32_t | path_flag, | ||
| const int | scattering ) |
Definition at line 49 of file closures_setup.h.
References ccl_device_forceinline, kernel_data, LABEL_GLOSSY, LABEL_REFLECT, LABEL_TRANSMIT, and PATH_RAY_DIFFUSE.
Referenced by osl_closure_ashikhmin_velvet_setup(), osl_closure_burley_diffuse_bsdf_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_bsdf_setup(), osl_closure_sheen_setup(), and osl_closure_translucent_setup().
| ccl_device void osl_closure_subsurface_bssrdf_setup | ( | KernelGlobals | , |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private SubsurfaceBSSRDFClosure * | closure, | ||
| float3 * | ) |
Definition at line 993 of file closures_setup.h.
References bssrdf(), bssrdf_alloc(), bssrdf_setup(), ccl_device, ccl_private, CLOSURE_BSSRDF_RANDOM_WALK_ID, maybe_ensure_valid_specular_reflection(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_translucent_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private TranslucentClosure * | closure, | ||
| float3 * | ) |
Definition at line 172 of file closures_setup.h.
References bsdf_alloc(), bsdf_translucent_setup(), ccl_device, ccl_private, LABEL_DIFFUSE, osl_closure_skip(), rgb_to_spectrum(), and safe_normalize_fallback().
| ccl_device void osl_closure_transparent_setup | ( | KernelGlobals | , |
| ccl_private ShaderData * | sd, | ||
| const uint32_t | path_flag, | ||
| const float3 | weight, | ||
| const ccl_private TransparentClosure * | , | ||
| float3 * | ) |
Definition at line 241 of file closures_setup.h.
References bsdf_transparent_setup(), ccl_device, ccl_private, and rgb_to_spectrum().
| ccl_device void osl_closure_uniform_edf_setup | ( | KernelGlobals | kg, |
| ccl_private ShaderData * | sd, | ||
| uint32_t | , | ||
| float3 | weight, | ||
| const ccl_private UniformEDFClosure * | closure, | ||
| float3 * | ) |
Definition at line 868 of file closures_setup.h.
References ccl_device, ccl_private, emission_setup(), object_volume_density(), rgb_to_spectrum(), and SD_IS_VOLUME_SHADER_EVAL.
| ccl_device_forceinline void osl_zero_albedo | ( | float3 * | layer_albedo | ) |
Definition at line 42 of file closures_setup.h.
References ccl_device_forceinline, 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(), osl_closure_sheen_bsdf_setup(), and osl_closure_sheen_setup().