Blender V5.0
closures_setup.h File Reference

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 *)

Macro Definition Documentation

◆ OSL_CLOSURE_STRUCT_ARRAY_MEMBER

#define OSL_CLOSURE_STRUCT_ARRAY_MEMBER ( Upper,
TYPE,
type,
name,
key,
size )
Value:
type name[size];
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52
const char * name

Definition at line 29 of file closures_setup.h.

◆ OSL_CLOSURE_STRUCT_BEGIN

#define OSL_CLOSURE_STRUCT_BEGIN ( Upper,
lower )
Value:
struct ccl_align(8) Upper##Closure { \
const char *label;
#define ccl_align(...)

Definition at line 22 of file closures_setup.h.

◆ OSL_CLOSURE_STRUCT_END

#define OSL_CLOSURE_STRUCT_END ( Upper,
lower )
Value:
} \
;

Definition at line 25 of file closures_setup.h.

◆ OSL_CLOSURE_STRUCT_MEMBER

#define OSL_CLOSURE_STRUCT_MEMBER ( Upper,
TYPE,
type,
name,
key )
Value:
type name;

Definition at line 28 of file closures_setup.h.

Function Documentation

◆ ccl_align()

struct ccl_align ( 8 )

Definition at line 20 of file closures_setup.h.

◆ osl_closure_absorption_setup()

ccl_device void osl_closure_absorption_setup ( KernelGlobals kg,
ccl_private ShaderData * sd,
const uint32_t ,
float3 weight,
const ccl_private VolumeAbsorptionClosure * ,
float3 *  )

◆ osl_closure_ashikhmin_velvet_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 *  )

◆ osl_closure_background_setup()

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().

◆ osl_closure_bssrdf_setup()

◆ osl_closure_burley_diffuse_bsdf_setup()

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 *  )

◆ osl_closure_conductor_bsdf_setup()

◆ osl_closure_dielectric_bsdf_setup()

◆ osl_closure_diffuse_ramp_setup()

ccl_device void osl_closure_diffuse_ramp_setup ( KernelGlobals ,
ccl_private ShaderData * sd,
uint32_t ,
const float3 weight,
const ccl_private DiffuseRampClosure * closure,
float3 *  )

◆ osl_closure_diffuse_setup()

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 *  )

◆ osl_closure_diffuse_toon_setup()

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 *  )

◆ osl_closure_draine_setup()

ccl_device void osl_closure_draine_setup ( KernelGlobals ,
ccl_private ShaderData * sd,
const uint32_t ,
const float3 weight,
const ccl_private VolumeDraineClosure * closure,
float3 *  )

◆ osl_closure_emission_setup()

ccl_device void osl_closure_emission_setup ( KernelGlobals kg,
ccl_private ShaderData * sd,
uint32_t ,
float3 weight,
const ccl_private GenericEmissiveClosure * ,
float3 *  )

◆ osl_closure_fournier_forand_setup()

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 *  )

◆ osl_closure_generalized_schlick_bsdf_setup()

◆ osl_closure_glossy_toon_setup()

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 *  )

◆ osl_closure_hair_chiang_setup()

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 *  )

◆ osl_closure_hair_huang_setup()

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 *  )

◆ osl_closure_hair_reflection_setup()

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 *  )

◆ osl_closure_hair_transmission_setup()

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 *  )

◆ osl_closure_henyey_greenstein_setup()

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 *  )

◆ osl_closure_holdout_setup()

ccl_device void osl_closure_holdout_setup ( KernelGlobals ,
ccl_private ShaderData * sd,
uint32_t ,
const float3 weight,
const ccl_private HoldoutClosure * ,
float3 *  )

◆ osl_closure_microfacet_f82_tint_setup()

◆ osl_closure_microfacet_multi_ggx_aniso_setup()

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 )

◆ osl_closure_microfacet_multi_ggx_glass_setup()

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 *  )

◆ osl_closure_microfacet_setup()

◆ osl_closure_oren_nayar_diffuse_bsdf_setup()

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 *  )

◆ osl_closure_oren_nayar_setup()

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 *  )

◆ osl_closure_phong_ramp_setup()

ccl_device void osl_closure_phong_ramp_setup ( KernelGlobals ,
ccl_private ShaderData * sd,
uint32_t ,
const float3 weight,
const ccl_private PhongRampClosure * closure,
float3 *  )

◆ osl_closure_ray_portal_bsdf_setup()

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().

◆ osl_closure_rayleigh_setup()

ccl_device void osl_closure_rayleigh_setup ( KernelGlobals ,
ccl_private ShaderData * sd,
const uint32_t ,
const float3 weight,
const ccl_private VolumeRayleighClosure * ,
float3 *  )

◆ osl_closure_reflection_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 *  )

◆ osl_closure_refraction_setup()

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 *  )

◆ osl_closure_sheen_bsdf_setup()

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 )

◆ osl_closure_sheen_setup()

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 )

◆ osl_closure_skip()

◆ osl_closure_subsurface_bssrdf_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 *  )

◆ osl_closure_translucent_setup()

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 *  )

◆ osl_closure_transparent_setup()

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().

◆ osl_closure_uniform_edf_setup()

ccl_device void osl_closure_uniform_edf_setup ( KernelGlobals kg,
ccl_private ShaderData * sd,
uint32_t ,
float3 weight,
const ccl_private UniformEDFClosure * closure,
float3 *  )

◆ osl_zero_albedo()