Blender
V3.3
|
#include "kernel/closure/alloc.h"
#include "kernel/closure/bsdf.h"
#include "kernel/closure/bsdf_util.h"
#include "kernel/closure/emissive.h"
#include "kernel/film/accumulate.h"
#include "kernel/svm/svm.h"
Go to the source code of this file.
ccl_device_forceinline bool _shader_bsdf_exclude | ( | ClosureType | type, |
uint | light_shader_flags | ||
) |
Definition at line 189 of file kernel/integrator/shader_eval.h.
References CLOSURE_IS_BSDF_DIFFUSE, CLOSURE_IS_BSDF_GLOSSY, CLOSURE_IS_BSDF_TRANSMISSION, SHADER_EXCLUDE_ANY, SHADER_EXCLUDE_DIFFUSE, SHADER_EXCLUDE_GLOSSY, SHADER_EXCLUDE_TRANSMIT, and type.
Referenced by _shader_bsdf_multi_eval().
ccl_device_inline float _shader_bsdf_multi_eval | ( | KernelGlobals | kg, |
ccl_private ShaderData * | sd, | ||
const float3 | omega_in, | ||
const bool | is_transmission, | ||
ccl_private const ShaderClosure * | skip_sc, | ||
ccl_private BsdfEval * | result_eval, | ||
float | sum_pdf, | ||
float | sum_sample_weight, | ||
const uint | light_shader_flags | ||
) |
Definition at line 212 of file kernel/integrator/shader_eval.h.
References _shader_bsdf_exclude(), bsdf_eval(), bsdf_eval_accum(), ccl_private, CLOSURE_IS_BSDF, CLOSURE_IS_BSDF_OR_BSSRDF, and ShaderClosure.
Referenced by shader_bsdf_eval(), and shader_bsdf_sample_closure().
ccl_device float3 shader_background_eval | ( | ccl_private const ShaderData * | sd | ) |
Definition at line 546 of file kernel/integrator/shader_eval.h.
References SD_EMISSION, and zero_float3().
Referenced by integrator_eval_background_shader(), kernel_background_evaluate(), and light_sample_shader_eval().
ccl_device float3 shader_bsdf_alpha | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd | ||
) |
Definition at line 417 of file kernel/integrator/shader_eval.h.
References max, min, one_float3(), shader_bsdf_transparency(), and zero_float3().
Referenced by kernel_write_data_passes().
ccl_device float3 shader_bsdf_ao | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd, | ||
const float | ao_factor, | ||
ccl_private float3 * | N_ | ||
) |
Definition at line 482 of file kernel/integrator/shader_eval.h.
References average(), ccl_private, CLOSURE_IS_BSDF_DIFFUSE, fabsf, blender::math::is_zero(), N, N_, blender::math::normalize(), ShaderClosure, and zero_float3().
ccl_device float3 shader_bsdf_average_normal | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd | ||
) |
Definition at line 469 of file kernel/integrator/shader_eval.h.
References average(), ccl_private, CLOSURE_IS_BSDF_OR_BSSRDF, fabsf, blender::math::is_zero(), N, blender::math::normalize(), ShaderClosure, and zero_float3().
Referenced by kernel_write_data_passes().
ccl_device float shader_bsdf_average_roughness | ( | ccl_private const ShaderData * | sd | ) |
Definition at line 368 of file kernel/integrator/shader_eval.h.
References average(), bsdf_get_roughness_squared(), ccl_private, CLOSURE_IS_BSDF, fabsf, usdtokens::roughness(), safe_sqrtf(), ShaderClosure, and sqrtf.
Referenced by kernel_write_data_passes().
ccl_device_inline ccl_private const ShaderClosure* shader_bsdf_bssrdf_pick | ( | ccl_private const ShaderData *ccl_restrict | sd, |
ccl_private float * | randu | ||
) |
Definition at line 269 of file kernel/integrator/shader_eval.h.
References ccl_private, CLOSURE_IS_BSDF_OR_BSSRDF, r, ShaderClosure, and sum().
Referenced by integrate_surface_bsdf_bssrdf_bounce().
ccl_device float3 shader_bsdf_diffuse | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd | ||
) |
Definition at line 427 of file kernel/integrator/shader_eval.h.
References ccl_private, CLOSURE_IS_BSDF_DIFFUSE, CLOSURE_IS_BSSRDF, ShaderClosure, and zero_float3().
Referenced by kernel_write_data_passes().
ccl_device void shader_bsdf_disable_transparency | ( | KernelGlobals | kg, |
ccl_private ShaderData * | sd | ||
) |
Definition at line 401 of file kernel/integrator/shader_eval.h.
References ccl_private, CLOSURE_BSDF_TRANSPARENT_ID, SD_TRANSPARENT, ShaderClosure, and zero_float3().
ccl_device float shader_bsdf_eval | ( | KernelGlobals | kg, |
ccl_private ShaderData * | sd, | ||
const float3 | omega_in, | ||
const bool | is_transmission, | ||
ccl_private BsdfEval * | bsdf_eval, | ||
const uint | light_shader_flags | ||
) |
Definition at line 255 of file kernel/integrator/shader_eval.h.
References _shader_bsdf_multi_eval(), bsdf_eval(), bsdf_eval_init(), CLOSURE_NONE_ID, NULL, and zero_float3().
ccl_device float3 shader_bsdf_glossy | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd | ||
) |
Definition at line 441 of file kernel/integrator/shader_eval.h.
References ccl_private, CLOSURE_IS_BSDF_GLOSSY, ShaderClosure, and zero_float3().
Referenced by kernel_write_data_passes().
ccl_device_inline bool shader_bsdf_is_transmission | ( | ccl_private const ShaderData * | sd, |
const float3 | omega_in | ||
) |
Definition at line 183 of file kernel/integrator/shader_eval.h.
References blender::math::dot().
Referenced by shader_bsdf_sample_closure().
ccl_device int shader_bsdf_sample_closure | ( | KernelGlobals | kg, |
ccl_private ShaderData * | sd, | ||
ccl_private const ShaderClosure * | sc, | ||
float | randu, | ||
float | randv, | ||
ccl_private BsdfEval * | bsdf_eval, | ||
ccl_private float3 * | omega_in, | ||
ccl_private differential3 * | domega_in, | ||
ccl_private float * | |||
) |
Definition at line 335 of file kernel/integrator/shader_eval.h.
References _shader_bsdf_multi_eval(), bsdf_eval(), bsdf_eval_init(), bsdf_sample(), CLOSURE_IS_BSDF, kernel_assert, label, shader_bsdf_is_transmission(), and zero_float3().
Referenced by integrate_surface_bsdf_bssrdf_bounce().
ccl_device float3 shader_bsdf_transmission | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd | ||
) |
Definition at line 455 of file kernel/integrator/shader_eval.h.
References ccl_private, CLOSURE_IS_BSDF_TRANSMISSION, ShaderClosure, and zero_float3().
Referenced by kernel_write_data_passes().
ccl_device float3 shader_bsdf_transparency | ( | KernelGlobals | kg, |
ccl_private const ShaderData * | sd | ||
) |
Definition at line 388 of file kernel/integrator/shader_eval.h.
References one_float3(), SD_HAS_ONLY_VOLUME, SD_TRANSPARENT, and zero_float3().
Referenced by kernel_curve_shadow_transparency_evaluate(), kernel_write_data_passes(), and shader_bsdf_alpha().
ccl_device_inline float3 shader_bssrdf_sample_weight | ( | ccl_private const ShaderData *ccl_restrict | sd, |
ccl_private const ShaderClosure *ccl_restrict | bssrdf_sc | ||
) |
Definition at line 313 of file kernel/integrator/shader_eval.h.
References ccl_private, CLOSURE_IS_BSDF_OR_BSSRDF, ShaderClosure, and sum().
ccl_device bool shader_constant_emission_eval | ( | KernelGlobals | kg, |
int | shader, | ||
ccl_private float3 * | eval | ||
) |
Definition at line 526 of file kernel/integrator/shader_eval.h.
References kernel_data_fetch, make_float3, SD_HAS_CONSTANT_EMISSION, SHADER_MASK, and blender::draw::image_engine::shaders.
Referenced by integrator_eval_background_shader(), and light_sample_shader_eval().
ccl_device float shader_cryptomatte_id | ( | KernelGlobals | kg, |
int | shader | ||
) |
Definition at line 947 of file kernel/integrator/shader_eval.h.
References kernel_data_fetch, SHADER_MASK, and blender::draw::image_engine::shaders.
Referenced by kernel_write_data_passes().
ccl_device float3 shader_emissive_eval | ( | ccl_private const ShaderData * | sd | ) |
Definition at line 558 of file kernel/integrator/shader_eval.h.
References emissive_simple_eval(), SD_EMISSION, and zero_float3().
Referenced by light_sample_shader_eval().
ccl_device void shader_eval_displacement | ( | KernelGlobals | kg, |
ConstIntegratorGenericState | state, | ||
ccl_private ShaderData * | sd | ||
) |
Definition at line 924 of file kernel/integrator/shader_eval.h.
References eval_displacement(), NULL, and state.
Referenced by kernel_displace_evaluate().
ccl_device void shader_eval_surface | ( | KernelGlobals | kg, |
ConstIntegratorGenericState | state, | ||
ccl_private ShaderData *ccl_restrict | sd, | ||
ccl_global float *ccl_restrict | buffer, | ||
uint32_t | path_flag, | ||
bool | use_caustics_storage = false |
||
) |
Definition at line 608 of file kernel/integrator/shader_eval.h.
References bsdf_alloc(), bsdf_diffuse_setup(), buffer, CAUSTICS_MAX_CLOSURE, ccl_private, kernel_data, LAMP_NONE, make_float3, NULL, OBJECT_NONE, PATH_RAY_EMISSION, PATH_RAY_SHADOW, PATH_RAY_TERMINATE, SD_EMISSION, and state.
Referenced by kernel_background_evaluate(), and kernel_curve_shadow_transparency_evaluate().
ccl_device float3 shader_holdout_apply | ( | KernelGlobals | kg, |
ccl_private ShaderData * | sd | ||
) |
Definition at line 570 of file kernel/integrator/shader_eval.h.
References ccl_private, CLOSURE_IS_BSDF_TRANSPARENT, CLOSURE_IS_HOLDOUT, NBUILTIN_CLOSURES, one_float3(), SD_BSDF, SD_CLOSURE_FLAGS, SD_HAS_ONLY_VOLUME, SD_OBJECT_HOLDOUT_MASK, SD_TRANSPARENT, ShaderClosure, and zero_float3().
CCL_NAMESPACE_BEGIN ccl_device_inline void shader_prepare_surface_closures | ( | KernelGlobals | kg, |
ConstIntegratorState | state, | ||
ccl_private ShaderData * | sd, | ||
const uint32_t | path_flag | ||
) |
Definition at line 93 of file kernel/integrator/shader_eval.h.
References __MNEE__, bsdf_blur(), ccl_private, CLOSURE_HOLDOUT_ID, CLOSURE_IS_BSDF, CLOSURE_IS_BSDF_DIFFUSE, CLOSURE_IS_BSDF_GLOSSY, CLOSURE_IS_BSDF_OR_BSSRDF, CLOSURE_IS_BSDF_TRANSMISSION, CLOSURE_IS_BSDF_TRANSPARENT, CLOSURE_NONE_ID, FILTER_CLOSURE_DIFFUSE, FILTER_CLOSURE_DIRECT_LIGHT, FILTER_CLOSURE_EMISSION, FILTER_CLOSURE_GLOSSY, FILTER_CLOSURE_TRANSMISSION, FILTER_CLOSURE_TRANSPARENT, INTEGRATOR_STATE, kernel_data, max, PATH_MNEE_VALID, PATH_RAY_CAMERA, SD_BSDF_HAS_EVAL, SD_HOLDOUT, ShaderClosure, sqrtf, state, sum(), and zero_float3().
Referenced by integrate_surface().