Blender V2.61 - r43446
|
Go to the source code of this file.
Functions | |
CCL_NAMESPACE_BEGIN __device void | svm_node_glossy_setup (ShaderData *sd, ShaderClosure *sc, int type, float eta, float roughness, bool refract) |
__device_inline ShaderClosure * | svm_node_closure_get (ShaderData *sd) |
__device_inline void | svm_node_closure_set_mix_weight (ShaderClosure *sc, float mix_weight) |
__device void | svm_node_closure_bsdf (KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, float randb, int path_flag) |
__device void | svm_node_closure_volume (KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node, int path_flag) |
__device void | svm_node_closure_emission (ShaderData *sd, float *stack, uint4 node) |
__device void | svm_node_closure_background (ShaderData *sd, float *stack, uint4 node) |
__device void | svm_node_closure_holdout (ShaderData *sd, float *stack, uint4 node) |
__device_inline void | svm_node_closure_store_weight (ShaderData *sd, float3 weight) |
__device void | svm_node_closure_set_weight (ShaderData *sd, uint r, uint g, uint b) |
__device void | svm_node_emission_set_weight_total (KernelGlobals *kg, ShaderData *sd, uint r, uint g, uint b) |
__device void | svm_node_closure_weight (ShaderData *sd, float *stack, uint weight_offset) |
__device void | svm_node_emission_weight (KernelGlobals *kg, ShaderData *sd, float *stack, uint4 node) |
__device void | svm_node_mix_closure (ShaderData *sd, float *stack, uint4 node, int *offset, float *randb) |
__device void | svm_node_add_closure (ShaderData *sd, float *stack, uint unused, uint node_jump, int *offset, float *randb, float *closure_weight) |
__device void svm_node_add_closure | ( | ShaderData * | sd, |
float * | stack, | ||
uint | unused, | ||
uint | node_jump, | ||
int * | offset, | ||
float * | randb, | ||
float * | closure_weight | ||
) |
Definition at line 406 of file svm_closure.h.
Referenced by svm_eval_nodes().
__device void svm_node_closure_background | ( | ShaderData * | sd, |
float * | stack, | ||
uint4 | node | ||
) |
Definition at line 269 of file svm_closure.h.
References ShaderData::closure, CLOSURE_BACKGROUND_ID, mix_weight(), stack_load_float(), stack_valid(), svm_node_closure_get(), ShaderClosure::type, ShaderClosure::weight, and uint4::y.
Referenced by svm_eval_nodes().
__device void svm_node_closure_bsdf | ( | KernelGlobals * | kg, |
ShaderData * | sd, | ||
float * | stack, | ||
uint4 | node, | ||
float | randb, | ||
int | path_flag | ||
) |
Definition at line 60 of file svm_closure.h.
References __int_as_float(), bsdf_ashikhmin_velvet_setup(), bsdf_diffuse_setup(), bsdf_microfacet_beckmann_setup(), bsdf_microfacet_ggx_setup(), bsdf_oren_nayar_setup(), bsdf_reflection_setup(), bsdf_translucent_setup(), bsdf_transparent_setup(), bsdf_ward_setup(), clamp, CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, CLOSURE_BSDF_DIFFUSE_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_ID, CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, CLOSURE_BSDF_MICROFACET_GGX_ID, CLOSURE_BSDF_MICROFACET_GGX_REFRACTION_ID, CLOSURE_BSDF_REFLECTION_ID, CLOSURE_BSDF_REFRACTION_ID, CLOSURE_BSDF_TRANSLUCENT_ID, CLOSURE_BSDF_TRANSPARENT_ID, CLOSURE_BSDF_WARD_ID, decode_node_uchar4(), dot(), ShaderData::dPdu, credits_svn_gen::e, ShaderData::flag, fmaxf, fresnel(), fresnel_dielectric_cos(), ShaderData::I, kernel_data, mix_weight(), ShaderData::N, normalize(), NULL, PATH_RAY_DIFFUSE, refract(), ShaderClosure::sample_weight, SD_BACKFACING, stack_load_float(), stack_valid(), svm_node_closure_get(), svm_node_closure_set_mix_weight(), svm_node_glossy_setup(), uint4::w, ShaderClosure::weight, uint4::y, and uint4::z.
Referenced by svm_eval_nodes().
__device void svm_node_closure_emission | ( | ShaderData * | sd, |
float * | stack, | ||
uint4 | node | ||
) |
Definition at line 241 of file svm_closure.h.
References ShaderData::closure, CLOSURE_EMISSION_ID, ShaderData::flag, mix_weight(), SD_EMISSION, stack_load_float(), stack_valid(), svm_node_closure_get(), ShaderClosure::type, ShaderClosure::weight, and uint4::y.
Referenced by svm_eval_nodes().
__device_inline ShaderClosure* svm_node_closure_get | ( | ShaderData * | sd | ) |
Definition at line 38 of file svm_closure.h.
References ShaderData::closure, MAX_CLOSURE, and ShaderData::num_closure.
Referenced by svm_node_closure_background(), svm_node_closure_bsdf(), svm_node_closure_emission(), svm_node_closure_holdout(), and svm_node_closure_volume().
__device void svm_node_closure_holdout | ( | ShaderData * | sd, |
float * | stack, | ||
uint4 | node | ||
) |
Definition at line 295 of file svm_closure.h.
References ShaderData::closure, CLOSURE_HOLDOUT_ID, ShaderData::flag, make_float3(), mix_weight(), SD_HOLDOUT, stack_load_float(), stack_valid(), svm_node_closure_get(), ShaderClosure::type, ShaderClosure::weight, and uint4::y.
Referenced by svm_eval_nodes().
__device_inline void svm_node_closure_set_mix_weight | ( | ShaderClosure * | sc, |
float | mix_weight | ||
) |
Definition at line 52 of file svm_closure.h.
References average(), fabsf, mix_weight(), ShaderClosure::sample_weight, and ShaderClosure::weight.
Referenced by svm_node_closure_bsdf(), and svm_node_closure_volume().
__device void svm_node_closure_set_weight | ( | ShaderData * | sd, |
uint | r, | ||
uint | g, | ||
uint | b | ||
) |
Definition at line 334 of file svm_closure.h.
References __int_as_float(), make_float3(), and svm_node_closure_store_weight().
Referenced by svm_eval_nodes().
__device_inline void svm_node_closure_store_weight | ( | ShaderData * | sd, |
float3 | weight | ||
) |
Definition at line 325 of file svm_closure.h.
References ShaderData::closure, ShaderData::num_closure, and ShaderClosure::weight.
Referenced by svm_node_closure_set_weight(), svm_node_closure_weight(), svm_node_emission_set_weight_total(), and svm_node_emission_weight().
__device void svm_node_closure_volume | ( | KernelGlobals * | kg, |
ShaderData * | sd, | ||
float * | stack, | ||
uint4 | node, | ||
int | path_flag | ||
) |
Definition at line 200 of file svm_closure.h.
References __int_as_float(), CLOSURE_VOLUME_ISOTROPIC_ID, CLOSURE_VOLUME_TRANSPARENT_ID, decode_node_uchar4(), mix_weight(), NULL, stack_load_float(), stack_valid(), svm_node_closure_get(), svm_node_closure_set_mix_weight(), volume_isotropic_setup(), volume_transparent_setup(), uint4::y, and uint4::z.
Referenced by svm_eval_nodes().
__device void svm_node_closure_weight | ( | ShaderData * | sd, |
float * | stack, | ||
uint | weight_offset | ||
) |
Definition at line 350 of file svm_closure.h.
References stack_load_float3(), and svm_node_closure_store_weight().
Referenced by svm_eval_nodes().
__device void svm_node_emission_set_weight_total | ( | KernelGlobals * | kg, |
ShaderData * | sd, | ||
uint | r, | ||
uint | g, | ||
uint | b | ||
) |
Definition at line 340 of file svm_closure.h.
References __int_as_float(), make_float3(), ShaderData::object, object_surface_area(), and svm_node_closure_store_weight().
Referenced by svm_eval_nodes().
__device void svm_node_emission_weight | ( | KernelGlobals * | kg, |
ShaderData * | sd, | ||
float * | stack, | ||
uint4 | node | ||
) |
Definition at line 357 of file svm_closure.h.
References ShaderData::object, object_surface_area(), stack_load_float(), stack_load_float3(), svm_node_closure_store_weight(), uint4::w, uint4::y, and uint4::z.
Referenced by svm_eval_nodes().
CCL_NAMESPACE_BEGIN __device void svm_node_glossy_setup | ( | ShaderData * | sd, |
ShaderClosure * | sc, | ||
int | type, | ||
float | eta, | ||
float | roughness, | ||
bool | refract | ||
) |
Definition at line 23 of file svm_closure.h.
References bsdf_microfacet_beckmann_setup(), bsdf_microfacet_ggx_setup(), bsdf_reflection_setup(), bsdf_refraction_setup(), CLOSURE_BSDF_MICROFACET_BECKMANN_REFRACTION_ID, and CLOSURE_BSDF_REFRACTION_ID.
Referenced by svm_node_closure_bsdf().
__device void svm_node_mix_closure | ( | ShaderData * | sd, |
float * | stack, | ||
uint4 | node, | ||
int * | offset, | ||
float * | randb | ||
) |
Definition at line 372 of file svm_closure.h.
References clamp, decode_node_uchar4(), stack_load_float(), stack_store_float(), stack_valid(), uint4::y, and uint4::z.
Referenced by svm_eval_nodes().