|
Blender
V2.93
|
Go to the source code of this file.
Macros | |
| #define | safe_float3_add(f, v) (f) += (v) |
| #define | safe_float_add(f, v) (f) += (v) |
| ccl_device_inline void bsdf_eval_accum | ( | BsdfEval * | eval, |
| ClosureType | type, | ||
| float3 | value, | ||
| float | mis_weight | ||
| ) |
Definition at line 62 of file kernel_accumulate.h.
References CLOSURE_IS_BSDF_BSSRDF, CLOSURE_IS_BSDF_DIFFUSE, CLOSURE_IS_BSDF_GLOSSY, CLOSURE_IS_BSDF_TRANSMISSION, CLOSURE_IS_PHASE, BsdfEval::diffuse, BsdfEval::glossy, BsdfEval::sum_no_mis, BsdfEval::transmission, type, BsdfEval::use_light_pass, and BsdfEval::volume.
Referenced by _shader_bsdf_multi_eval().
| ccl_device_inline void bsdf_eval_init | ( | BsdfEval * | eval, |
| ClosureType | type, | ||
| float3 | value, | ||
| int | use_light_pass | ||
| ) |
Definition at line 26 of file kernel_accumulate.h.
References CLOSURE_BSDF_TRANSPARENT_ID, CLOSURE_IS_BSDF_BSSRDF, CLOSURE_IS_BSDF_DIFFUSE, CLOSURE_IS_BSDF_GLOSSY, CLOSURE_IS_BSDF_TRANSMISSION, CLOSURE_IS_PHASE, BsdfEval::diffuse, BsdfEval::glossy, BsdfEval::sum_no_mis, BsdfEval::transmission, BsdfEval::transparent, type, BsdfEval::use_light_pass, BsdfEval::volume, and zero_float3().
Referenced by shader_bsdf_eval(), shader_bsdf_sample(), and shader_bsdf_sample_closure().
| ccl_device_inline bool bsdf_eval_is_zero | ( | BsdfEval * | eval | ) |
Definition at line 91 of file kernel_accumulate.h.
References BsdfEval::diffuse, BsdfEval::glossy, is_zero(), BsdfEval::transmission, BsdfEval::transparent, BsdfEval::use_light_pass, and BsdfEval::volume.
Referenced by direct_emission(), and kernel_path_surface_bounce().
| ccl_device_inline void bsdf_eval_mis | ( | BsdfEval * | eval, |
| float | value | ||
| ) |
Definition at line 105 of file kernel_accumulate.h.
References BsdfEval::diffuse, BsdfEval::glossy, BsdfEval::transmission, BsdfEval::use_light_pass, and BsdfEval::volume.
Referenced by bsdf_eval_mul(), and shader_bsdf_eval().
| ccl_device_inline void bsdf_eval_mul | ( | BsdfEval * | eval, |
| float | value | ||
| ) |
Definition at line 123 of file kernel_accumulate.h.
References bsdf_eval_mis(), and BsdfEval::sum_no_mis.
Referenced by direct_emission().
| ccl_device_inline void bsdf_eval_mul3 | ( | BsdfEval * | eval, |
| float3 | value | ||
| ) |
Definition at line 131 of file kernel_accumulate.h.
References BsdfEval::diffuse, BsdfEval::glossy, BsdfEval::sum_no_mis, BsdfEval::transmission, BsdfEval::use_light_pass, and BsdfEval::volume.
Referenced by direct_emission().
| ccl_device_inline float3 bsdf_eval_sum | ( | const BsdfEval * | eval | ) |
Definition at line 152 of file kernel_accumulate.h.
References BsdfEval::diffuse, BsdfEval::glossy, BsdfEval::transmission, BsdfEval::use_light_pass, and BsdfEval::volume.
Referenced by direct_emission(), path_radiance_accum_light(), and path_radiance_bsdf_bounce().
| ccl_device_inline void path_radiance_accum_ao | ( | KernelGlobals * | kg, |
| PathRadiance * | L, | ||
| ccl_addr_space PathState * | state, | ||
| float3 | throughput, | ||
| float3 | alpha, | ||
| float3 | bsdf, | ||
| float3 | ao | ||
| ) |
Definition at line 337 of file kernel_accumulate.h.
References alpha, L, PATH_RAY_SHADOW_CATCHER, PATH_RAY_STORE_SHADOW_INFO, and state.
Referenced by kernel_path_ao().
| ccl_device_inline void path_radiance_accum_background | ( | KernelGlobals * | kg, |
| PathRadiance * | L, | ||
| ccl_addr_space PathState * | state, | ||
| float3 | throughput, | ||
| float3 | value | ||
| ) |
Definition at line 476 of file kernel_accumulate.h.
References kg, L, PATH_RAY_SHADOW_CATCHER, PATH_RAY_STORE_SHADOW_INFO, PATH_RAY_TRANSPARENT_BACKGROUND, and state.
Referenced by kernel_path_background().
| ccl_device_inline void path_radiance_accum_emission | ( | KernelGlobals * | kg, |
| PathRadiance * | L, | ||
| ccl_addr_space PathState * | state, | ||
| float3 | throughput, | ||
| float3 | value | ||
| ) |
Definition at line 304 of file kernel_accumulate.h.
References kg, L, PATH_RAY_SHADOW_CATCHER, and state.
Referenced by indirect_lamp_emission(), and kernel_path_shader_apply().
| ccl_device_inline void path_radiance_accum_light | ( | KernelGlobals * | kg, |
| PathRadiance * | L, | ||
| ccl_addr_space PathState * | state, | ||
| float3 | throughput, | ||
| BsdfEval * | bsdf_eval, | ||
| float3 | shadow, | ||
| float | shadow_fac, | ||
| bool | is_lamp | ||
| ) |
Definition at line 402 of file kernel_accumulate.h.
References bsdf_eval(), bsdf_eval_sum(), kg, L, PATH_RAY_SHADOW_CATCHER, PATH_RAY_STORE_SHADOW_INFO, and state.
Referenced by kernel_path_surface_connect_light(), and kernel_shadow_blocked_dl().
| ccl_device_inline void path_radiance_accum_sample | ( | PathRadiance * | L, |
| PathRadiance * | L_sample | ||
| ) |
Definition at line 727 of file kernel_accumulate.h.
References PathRadiance::ao, PathRadiance::background, PathRadiance::direct_diffuse, PathRadiance::direct_glossy, PathRadiance::direct_transmission, PathRadiance::direct_volume, PathRadiance::emission, PathRadiance::indirect_diffuse, PathRadiance::indirect_glossy, PathRadiance::indirect_transmission, PathRadiance::indirect_volume, L, PathRadiance::mist, safe_float3_add, safe_float_add, and PathRadiance::shadow.
Referenced by kernel_split_path_end().
| ccl_device_inline void path_radiance_accum_total_ao | ( | PathRadiance * | L, |
| ccl_addr_space PathState * | state, | ||
| float3 | throughput, | ||
| float3 | bsdf | ||
| ) |
Definition at line 385 of file kernel_accumulate.h.
References L, PATH_RAY_STORE_SHADOW_INFO, and state.
Referenced by kernel_path_ao().
| ccl_device_inline void path_radiance_accum_total_light | ( | PathRadiance * | L, |
| ccl_addr_space PathState * | state, | ||
| float3 | throughput, | ||
| const BsdfEval * | bsdf_eval | ||
| ) |
Definition at line 459 of file kernel_accumulate.h.
References bsdf_eval(), L, PATH_RAY_STORE_SHADOW_INFO, and state.
Referenced by kernel_path_surface_connect_light(), and kernel_shadow_blocked_dl().
| ccl_device_inline void path_radiance_accum_transparent | ( | PathRadiance * | L, |
| ccl_addr_space PathState * | state, | ||
| float3 | throughput | ||
| ) |
Definition at line 520 of file kernel_accumulate.h.
| ccl_device_inline void path_radiance_bsdf_bounce | ( | KernelGlobals * | kg, |
| PathRadianceState * | L_state, | ||
| ccl_addr_space float3 * | throughput, | ||
| BsdfEval * | bsdf_eval, | ||
| float | bsdf_pdf, | ||
| int | bounce, | ||
| int | bsdf_label | ||
| ) |
Definition at line 237 of file kernel_accumulate.h.
References bsdf_eval(), bsdf_eval_sum(), PathRadianceState::diffuse, PathRadianceState::direct, PathRadianceState::glossy, kernel_data, LABEL_TRANSPARENT, sum(), PathRadianceState::transmission, and PathRadianceState::volume.
Referenced by kernel_path_surface_bounce().
| ccl_device_inline float3 path_radiance_clamp_and_sum | ( | KernelGlobals * | kg, |
| PathRadiance * | L, | ||
| float * | alpha | ||
| ) |
Definition at line 620 of file kernel_accumulate.h.
References alpha, fabsf, isfinite_safe(), kernel_assert, kernel_data, kg, L, path_radiance_sum_indirect(), sum(), x, y, z, and zero_float3().
Referenced by kernel_write_result().
| ccl_device_inline void path_radiance_copy_indirect | ( | PathRadiance * | L, |
| const PathRadiance * | L_src | ||
| ) |
Definition at line 575 of file kernel_accumulate.h.
References PathRadiance::direct_emission, PathRadiance::indirect, L, and PathRadiance::state.
| ccl_device_inline void path_radiance_init | ( | KernelGlobals * | kg, |
| PathRadiance * | L | ||
| ) |
Definition at line 170 of file kernel_accumulate.h.
References kernel_data, L, and zero_float3().
Referenced by kernel_buffer_update(), kernel_path_init(), and kernel_path_trace().
| ccl_device_inline void path_radiance_reset_indirect | ( | PathRadiance * | L | ) |
Definition at line 560 of file kernel_accumulate.h.
References L, and zero_float3().
Referenced by kernel_do_volume(), kernel_next_iteration_setup(), and kernel_subsurface_scatter().
| ccl_device_inline void path_radiance_split_denoising | ( | KernelGlobals * | kg, |
| PathRadiance * | L, | ||
| float3 * | noisy, | ||
| float3 * | clean | ||
| ) |
Definition at line 688 of file kernel_accumulate.h.
References DENOISING_CLEAN_DIFFUSE_DIR, DENOISING_CLEAN_DIFFUSE_IND, DENOISING_CLEAN_GLOSSY_DIR, DENOISING_CLEAN_GLOSSY_IND, DENOISING_CLEAN_TRANSMISSION_DIR, DENOISING_CLEAN_TRANSMISSION_IND, ensure_finite3(), kernel_assert, L, and zero_float3().
Referenced by kernel_write_result().
| ccl_device_inline void path_radiance_sum_indirect | ( | PathRadiance * | L | ) |
Definition at line 538 of file kernel_accumulate.h.
References L, and safe_divide_color().
Referenced by kernel_do_volume(), kernel_next_iteration_setup(), kernel_split_path_end(), kernel_subsurface_scatter(), and path_radiance_clamp_and_sum().
| CCL_NAMESPACE_BEGIN ccl_device float3 shader_bsdf_transparency | ( | KernelGlobals * | kg, |
| const ShaderData * | sd | ||
| ) |
Definition at line 830 of file kernel_shader.h.
References one_float3(), SD_HAS_ONLY_VOLUME, SD_TRANSPARENT, and zero_float3().
Referenced by kernel_path_shader_apply(), kernel_write_data_passes(), shader_bsdf_alpha(), and shadow_handle_transparent_isect().