|
Blender V4.3
|
#include "kernel/film/adaptive_sampling.h"#include "kernel/film/write.h"#include "kernel/integrator/shadow_catcher.h"Go to the source code of this file.
| ccl_device_inline void bsdf_eval_accum | ( | ccl_private BsdfEval * | eval, |
| ccl_private const ShaderClosure * | sc, | ||
| const float3 | wo, | ||
| Spectrum | value ) |
Definition at line 54 of file light_passes.h.
References CLOSURE_IS_BSDF_DIFFUSE, CLOSURE_IS_BSDF_GLOSSY, CLOSURE_IS_GLASS, and dot().
Referenced by _surface_shader_bsdf_eval_mis(), and surface_shader_bsdf_eval_pdfs().
| ccl_device_inline void bsdf_eval_accum | ( | ccl_private BsdfEval * | eval, |
| Spectrum | value ) |
Definition at line 74 of file light_passes.h.
| CCL_NAMESPACE_BEGIN ccl_device_inline void bsdf_eval_init | ( | ccl_private BsdfEval * | eval, |
| ccl_private const ShaderClosure * | sc, | ||
| const float3 | wo, | ||
| Spectrum | value ) |
Definition at line 23 of file light_passes.h.
References CLOSURE_IS_BSDF_DIFFUSE, CLOSURE_IS_BSDF_GLOSSY, CLOSURE_IS_GLASS, dot(), and zero_spectrum.
Referenced by surface_shader_bsdf_eval(), surface_shader_bsdf_eval_pdfs(), and surface_shader_bsdf_sample_closure().
| ccl_device_inline void bsdf_eval_init | ( | ccl_private BsdfEval * | eval, |
| Spectrum | value ) |
Definition at line 47 of file light_passes.h.
References zero_spectrum.
| ccl_device_inline bool bsdf_eval_is_zero | ( | ccl_private BsdfEval * | eval | ) |
Definition at line 79 of file light_passes.h.
References is_zero().
Referenced by integrate_surface_bsdf_bssrdf_bounce(), and light_sample_terminate().
| ccl_device_inline void bsdf_eval_mul | ( | ccl_private BsdfEval * | eval, |
| float | value ) |
Definition at line 84 of file light_passes.h.
Referenced by integrate_surface_direct_light(), and light_sample_terminate().
| ccl_device_inline void bsdf_eval_mul | ( | ccl_private BsdfEval * | eval, |
| Spectrum | value ) |
Definition at line 91 of file light_passes.h.
| ccl_device_inline Spectrum bsdf_eval_pass_diffuse_weight | ( | ccl_private const BsdfEval * | eval | ) |
Definition at line 103 of file light_passes.h.
References safe_divide().
Referenced by integrate_surface_bsdf_bssrdf_bounce(), and integrate_surface_direct_light().
| ccl_device_inline Spectrum bsdf_eval_pass_glossy_weight | ( | ccl_private const BsdfEval * | eval | ) |
Definition at line 110 of file light_passes.h.
References safe_divide().
Referenced by integrate_surface_bsdf_bssrdf_bounce(), and integrate_surface_direct_light().
| ccl_device_inline Spectrum bsdf_eval_sum | ( | ccl_private const BsdfEval * | eval | ) |
Definition at line 98 of file light_passes.h.
Referenced by integrate_surface_bsdf_bssrdf_bounce(), integrate_surface_direct_light(), and light_sample_terminate().
| ccl_device_forceinline void film_clamp_light | ( | KernelGlobals | kg, |
| ccl_private Spectrum * | L, | ||
| int | bounce ) |
Definition at line 124 of file light_passes.h.
References ensure_finite(), fabs(), isfinite_safe(), kernel_assert, kernel_data, L, reduce_add(), and sum().
Referenced by film_write_background(), film_write_direct_light(), film_write_surface_emission(), and film_write_volume_emission().
| ccl_device void film_write_adaptive_buffer | ( | KernelGlobals | kg, |
| const int | sample, | ||
| const Spectrum | contribution, | ||
| ccl_global float *ccl_restrict | buffer ) |
Definition at line 171 of file light_passes.h.
References film_write_pass_float4(), kernel_data, make_float4(), PASS_UNUSED, sample, sample_is_class_A(), spectrum_to_rgb(), float3::x, float3::y, and float3::z.
Referenced by film_write_combined_pass(), and film_write_combined_transparent_pass().
| ccl_device_inline void film_write_background | ( | KernelGlobals | kg, |
| ConstIntegratorState | state, | ||
| const Spectrum | L, | ||
| const float | transparent, | ||
| const bool | is_transparent_background_ray, | ||
| ccl_global float *ccl_restrict | render_buffer ) |
Definition at line 593 of file light_passes.h.
References ccl_global, film_clamp_light(), film_pass_pixel_render_buffer(), film_write_combined_transparent_pass(), film_write_emission_or_background_pass(), film_write_transparent(), flag, INTEGRATOR_STATE, kernel_data, L, render_buffer, sample, and state.
Referenced by integrate_background().
| ccl_device_inline void film_write_combined_pass | ( | KernelGlobals | kg, |
| const uint32_t | path_flag, | ||
| const int | sample, | ||
| const Spectrum | contribution, | ||
| ccl_global float *ccl_restrict | buffer ) |
Definition at line 320 of file light_passes.h.
References film_write_adaptive_buffer(), film_write_pass_spectrum(), kernel_data, PASSMASK, and sample.
Referenced by film_write_direct_light(), film_write_surface_emission(), and film_write_volume_emission().
| ccl_device_inline void film_write_combined_transparent_pass | ( | KernelGlobals | kg, |
| const uint32_t | path_flag, | ||
| const int | sample, | ||
| const Spectrum | contribution, | ||
| const float | transparent, | ||
| ccl_global float *ccl_restrict | buffer ) |
Definition at line 340 of file light_passes.h.
References film_write_adaptive_buffer(), film_write_pass_float4(), kernel_data, make_float4(), PASSMASK, sample, spectrum_to_rgb(), float3::x, float3::y, and float3::z.
Referenced by film_write_background().
| ccl_device_inline void film_write_direct_light | ( | KernelGlobals | kg, |
| ConstIntegratorShadowState | state, | ||
| ccl_global float *ccl_restrict | render_buffer ) |
Definition at line 461 of file light_passes.h.
References ccl_global, film_clamp_light(), film_pass_pixel_render_buffer_shadow(), film_write_combined_pass(), film_write_pass_spectrum(), flag, int, INTEGRATOR_STATE, kernel_data, KERNEL_FEATURE_AO_ADDITIVE, KERNEL_FEATURE_AO_PASS, KERNEL_FEATURE_LIGHT_PASSES, LIGHTGROUP_NONE, one_spectrum, PASS_ANY, PASS_UNUSED, PATH_RAY_CAMERA, PATH_RAY_SHADOW_CATCHER_HIT, PATH_RAY_SHADOW_FOR_AO, PATH_RAY_SURFACE_PASS, PATH_RAY_VOLUME_PASS, render_buffer, sample, and state.
Referenced by integrator_shade_shadow().
| ccl_device_inline void film_write_emission_or_background_pass | ( | KernelGlobals | kg, |
| ConstIntegratorState | state, | ||
| Spectrum | contribution, | ||
| ccl_global float *ccl_restrict | buffer, | ||
| const int | pass, | ||
| const int | lightgroup = LIGHTGROUP_NONE ) |
Definition at line 365 of file light_passes.h.
References film_write_pass_spectrum(), flag, INTEGRATOR_STATE, kernel_data, KERNEL_FEATURE_LIGHT_PASSES, LIGHTGROUP_NONE, one_spectrum, PASS_ANY, PASS_UNUSED, PATH_RAY_ANY_PASS, PATH_RAY_DENOISING_FEATURES, PATH_RAY_SHADOW_CATCHER_HIT, PATH_RAY_SURFACE_PASS, PATH_RAY_VOLUME_PASS, and state.
Referenced by film_write_background(), film_write_surface_emission(), and film_write_volume_emission().
| ccl_device_inline void film_write_holdout | ( | KernelGlobals | kg, |
| ConstIntegratorState | state, | ||
| const uint32_t | path_flag, | ||
| const float | transparent, | ||
| ccl_global float *ccl_restrict | render_buffer ) |
Definition at line 580 of file light_passes.h.
References ccl_global, film_pass_pixel_render_buffer(), film_write_transparent(), render_buffer, and state.
Referenced by integrate_surface_holdout().
| ccl_device_inline int film_write_sample | ( | KernelGlobals | kg, |
| ConstIntegratorState | state, | ||
| ccl_global float *ccl_restrict | render_buffer, | ||
| int | sample, | ||
| int | sample_offset ) |
Definition at line 154 of file light_passes.h.
References atomic_fetch_and_add_uint32(), ccl_global, film_pass_pixel_render_buffer(), kernel_data, PASS_UNUSED, render_buffer, sample, and state.
Referenced by integrator_init_from_bake(), and integrator_init_from_camera().
| ccl_device_inline void film_write_surface_emission | ( | KernelGlobals | kg, |
| ConstIntegratorState | state, | ||
| const Spectrum | L, | ||
| const float | mis_weight, | ||
| ccl_global float *ccl_restrict | render_buffer, | ||
| const int | lightgroup = LIGHTGROUP_NONE ) |
Definition at line 640 of file light_passes.h.
References ccl_global, film_clamp_light(), film_pass_pixel_render_buffer(), film_write_combined_pass(), film_write_emission_or_background_pass(), flag, INTEGRATOR_STATE, kernel_data, L, render_buffer, sample, and state.
Referenced by integrate_distant_lights(), integrate_light(), and integrate_surface_emission().
| ccl_device_inline void film_write_transparent | ( | KernelGlobals | kg, |
| ConstIntegratorState | state, | ||
| const uint32_t | path_flag, | ||
| const float | transparent, | ||
| ccl_global float *ccl_restrict | buffer ) |
Definition at line 564 of file light_passes.h.
References film_write_pass_float(), kernel_data, and PASSMASK.
Referenced by film_write_background(), film_write_holdout(), and integrator_init_from_bake().
| ccl_device_inline void film_write_volume_emission | ( | KernelGlobals | kg, |
| ConstIntegratorState | state, | ||
| const Spectrum | L, | ||
| ccl_global float *ccl_restrict | render_buffer, | ||
| const int | lightgroup = LIGHTGROUP_NONE ) |
Definition at line 622 of file light_passes.h.
References ccl_global, film_clamp_light(), film_pass_pixel_render_buffer(), film_write_combined_pass(), film_write_emission_or_background_pass(), flag, INTEGRATOR_STATE, kernel_data, L, render_buffer, sample, and state.