Blender  V2.93
Functions
svm_closure.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device void svm_node_glass_setup (ShaderData *sd, MicrofacetBsdf *bsdf, int type, float eta, float roughness, bool refract)
 
ccl_device void svm_node_closure_bsdf (KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, ShaderType shader_type, int path_flag, int *offset)
 
ccl_device void svm_node_closure_volume (KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, ShaderType shader_type)
 
ccl_device void svm_node_principled_volume (KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, ShaderType shader_type, int path_flag, int *offset)
 
ccl_device void svm_node_closure_emission (ShaderData *sd, float *stack, uint4 node)
 
ccl_device void svm_node_closure_background (ShaderData *sd, float *stack, uint4 node)
 
ccl_device void svm_node_closure_holdout (ShaderData *sd, float *stack, uint4 node)
 
ccl_device_inline void svm_node_closure_store_weight (ShaderData *sd, float3 weight)
 
ccl_device void svm_node_closure_set_weight (ShaderData *sd, uint r, uint g, uint b)
 
ccl_device void svm_node_closure_weight (ShaderData *sd, float *stack, uint weight_offset)
 
ccl_device void svm_node_emission_weight (KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node)
 
ccl_device void svm_node_mix_closure (ShaderData *sd, float *stack, uint4 node)
 
ccl_device void svm_node_set_normal (KernelGlobals *kg, ShaderData *sd, float *stack, uint in_direction, uint out_normal)
 

Function Documentation

◆ svm_node_closure_background()

ccl_device void svm_node_closure_background ( ShaderData sd,
float stack,
uint4  node 
)

Definition at line 1096 of file svm_closure.h.

References background_setup(), mix_weight(), node, stack_load_float(), and stack_valid().

Referenced by svm_eval_nodes().

◆ svm_node_closure_bsdf()

ccl_device void svm_node_closure_bsdf ( KernelGlobals *  kg,
ShaderData sd,
float stack,
uint4  node,
ShaderType  shader_type,
int  path_flag,
int *  offset 
)

Definition at line 60 of file svm_closure.h.

References __uint_as_float(), alpha, PrincipledHairBSDF::alpha, MicrofacetBsdf::alpha_x, MicrofacetBsdf::alpha_y, ATTR_FALLTHROUGH, ATTR_STD_NOT_FOUND, average(), bsdf_alloc(), bsdf_ashikhmin_shirley_setup(), bsdf_ashikhmin_velvet_setup(), bsdf_diffuse_setup(), bsdf_diffuse_toon_setup(), bsdf_glossy_toon_setup(), bsdf_hair_reflection_setup(), bsdf_hair_transmission_setup(), bsdf_microfacet_beckmann_refraction_setup(), bsdf_microfacet_beckmann_setup(), bsdf_microfacet_ggx_clearcoat_setup(), bsdf_microfacet_ggx_fresnel_setup(), bsdf_microfacet_ggx_refraction_setup(), bsdf_microfacet_ggx_setup(), bsdf_microfacet_multi_ggx_fresnel_setup(), bsdf_microfacet_multi_ggx_glass_fresnel_setup(), bsdf_microfacet_multi_ggx_glass_setup(), bsdf_microfacet_multi_ggx_setup(), bsdf_oren_nayar_setup(), bsdf_principled_diffuse_setup(), bsdf_principled_hair_sigma_from_concentration(), bsdf_principled_hair_sigma_from_reflectance(), bsdf_principled_sheen_setup(), bsdf_reflection_setup(), bsdf_refraction_setup(), bsdf_translucent_setup(), bsdf_transparent_setup(), bssrdf(), bssrdf_alloc(), bssrdf_setup(), clamp(), MicrofacetExtra::clearcoat, closure_alloc_extra(), CLOSURE_BSDF_ASHIKHMIN_SHIRLEY_ID, CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, CLOSURE_BSDF_DIFFUSE_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_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_MICROFACET_MULTI_GGX_GLASS_ID, CLOSURE_BSDF_MICROFACET_MULTI_GGX_ID, CLOSURE_BSDF_PRINCIPLED_ID, CLOSURE_BSDF_REFLECTION_ID, CLOSURE_BSDF_REFRACTION_ID, CLOSURE_BSDF_SHARP_GLASS_ID, CLOSURE_BSDF_TRANSLUCENT_ID, CLOSURE_BSDF_TRANSPARENT_ID, CLOSURE_BSSRDF_BURLEY_ID, CLOSURE_BSSRDF_CUBIC_ID, CLOSURE_BSSRDF_GAUSSIAN_ID, CLOSURE_BSSRDF_PRINCIPLED_ID, CLOSURE_BSSRDF_RANDOM_WALK_ID, CLOSURE_WEIGHT_CUTOFF, MicrofacetExtra::color, MicrofacetExtra::cspec0, dot(), PrincipledHairBSDF::eta, PrincipledHairBSDF::extra, MicrofacetBsdf::extra, fabsf, find_attribute(), fmaxf, fresnel_dielectric_cos(), MicrofacetBsdf::ior, kernel_assert, kernel_data, kg, linear_rgb_to_gray(), logf, PrincipledHairBSDF::m0_roughness, M_2PI_F, make_float3, usdtokens::metallic(), mix_weight(), N, node, NODE_PRINCIPLED_HAIR_DIRECT_ABSORPTION, NODE_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION, NODE_PRINCIPLED_HAIR_REFLECTANCE, normalize(), NULL, HairBsdf::offset, AttributeDescriptor::offset, PATH_RAY_DIFFUSE, PATH_RAY_DIFFUSE_ANCESTOR, PRIMITIVE_ALL_CURVE, primitive_surface_attribute_float(), random(), read_node(), rotate_around_axis(), OrenNayarBsdf::roughness, PrincipledDiffuseBsdf::roughness, usdtokens::roughness(), HairBsdf::roughness1, HairBsdf::roughness2, PrincipledHairBSDF::s, safe_sqrtf(), saturate(), SD_BACKFACING, SHADER_TYPE_SURFACE, VelvetBsdf::sigma, PrincipledHairBSDF::sigma, ToonBsdf::size, ToonBsdf::smooth, sqr(), stack_load_float(), stack_load_float3(), stack_load_float_default(), stack_valid(), svm_node_glass_setup(), SVM_STACK_INVALID, svm_unpack_node_uchar4(), HairBsdf::T, MicrofacetBsdf::T, T, type, PrincipledHairBSDF::v, uint4::w, uint4::x, float3::x, uint4::y, float3::y, uint4::z, and float3::z.

Referenced by svm_eval_nodes().

◆ svm_node_closure_emission()

ccl_device void svm_node_closure_emission ( ShaderData sd,
float stack,
uint4  node 
)

Definition at line 1079 of file svm_closure.h.

References emission_setup(), mix_weight(), node, stack_load_float(), and stack_valid().

Referenced by svm_eval_nodes().

◆ svm_node_closure_holdout()

ccl_device void svm_node_closure_holdout ( ShaderData sd,
float stack,
uint4  node 
)

◆ svm_node_closure_set_weight()

ccl_device void svm_node_closure_set_weight ( ShaderData sd,
uint  r,
uint  g,
uint  b 
)

Definition at line 1139 of file svm_closure.h.

References __uint_as_float(), make_float3, r, and svm_node_closure_store_weight().

Referenced by svm_eval_nodes().

◆ svm_node_closure_store_weight()

ccl_device_inline void svm_node_closure_store_weight ( ShaderData sd,
float3  weight 
)

◆ svm_node_closure_volume()

ccl_device void svm_node_closure_volume ( KernelGlobals *  kg,
ShaderData sd,
float stack,
uint4  node,
ShaderType  shader_type 
)

◆ svm_node_closure_weight()

ccl_device void svm_node_closure_weight ( ShaderData sd,
float stack,
uint  weight_offset 
)

Definition at line 1145 of file svm_closure.h.

References stack_load_float3(), and svm_node_closure_store_weight().

Referenced by svm_eval_nodes().

◆ svm_node_emission_weight()

ccl_device void svm_node_emission_weight ( KernelGlobals *  kg,
ShaderData sd,
float stack,
uint4  node 
)

Definition at line 1152 of file svm_closure.h.

References node, stack_load_float(), stack_load_float3(), and svm_node_closure_store_weight().

Referenced by svm_eval_nodes().

◆ svm_node_glass_setup()

CCL_NAMESPACE_BEGIN ccl_device void svm_node_glass_setup ( ShaderData sd,
MicrofacetBsdf bsdf,
int  type,
float  eta,
float  roughness,
bool  refract 
)

◆ svm_node_mix_closure()

ccl_device void svm_node_mix_closure ( ShaderData sd,
float stack,
uint4  node 
)

◆ svm_node_principled_volume()

ccl_device void svm_node_principled_volume ( KernelGlobals *  kg,
ShaderData sd,
float stack,
uint4  node,
ShaderType  shader_type,
int  path_flag,
int *  offset 
)

◆ svm_node_set_normal()

ccl_device void svm_node_set_normal ( KernelGlobals *  kg,
ShaderData sd,
float stack,
uint  in_direction,
uint  out_normal 
)

Definition at line 1188 of file svm_closure.h.

References normal, stack_load_float3(), and stack_store_float3().

Referenced by svm_eval_nodes().