Blender
V3.3
|
#include "kernel/film/adaptive_sampling.h"
#include "kernel/film/write_passes.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, |
const ClosureType | closure_type, | ||
float3 | value | ||
) |
Definition at line 39 of file accumulate.h.
References CLOSURE_IS_BSDF_DIFFUSE, and CLOSURE_IS_BSDF_GLOSSY.
Referenced by _shader_bsdf_multi_eval().
CCL_NAMESPACE_BEGIN ccl_device_inline void bsdf_eval_init | ( | ccl_private BsdfEval * | eval, |
const ClosureType | closure_type, | ||
float3 | value | ||
) |
Definition at line 22 of file accumulate.h.
References CLOSURE_IS_BSDF_DIFFUSE, CLOSURE_IS_BSDF_GLOSSY, and zero_float3().
Referenced by shader_bsdf_eval(), and shader_bsdf_sample_closure().
ccl_device_inline bool bsdf_eval_is_zero | ( | ccl_private BsdfEval * | eval | ) |
Definition at line 53 of file accumulate.h.
References blender::math::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 58 of file accumulate.h.
Referenced by light_sample_terminate().
ccl_device_inline void bsdf_eval_mul | ( | ccl_private BsdfEval * | eval, |
float3 | value | ||
) |
Definition at line 65 of file accumulate.h.
ccl_device_inline float3 bsdf_eval_pass_diffuse_weight | ( | ccl_private const BsdfEval * | eval | ) |
Definition at line 77 of file accumulate.h.
References blender::math::safe_divide().
Referenced by integrate_surface_bsdf_bssrdf_bounce().
ccl_device_inline float3 bsdf_eval_pass_glossy_weight | ( | ccl_private const BsdfEval * | eval | ) |
Definition at line 84 of file accumulate.h.
References blender::math::safe_divide().
Referenced by integrate_surface_bsdf_bssrdf_bounce().
ccl_device_inline float3 bsdf_eval_sum | ( | ccl_private const BsdfEval * | eval | ) |
Definition at line 72 of file accumulate.h.
Referenced by integrate_surface_bsdf_bssrdf_bounce(), and light_sample_terminate().
ccl_device void kernel_accum_adaptive_buffer | ( | KernelGlobals | kg, |
const int | sample, | ||
const float3 | contribution, | ||
ccl_global float *ccl_restrict | buffer | ||
) |
Definition at line 155 of file accumulate.h.
References buffer, kernel_data, kernel_write_pass_float4(), make_float4, PASS_UNUSED, sample, sample_is_even(), float3::x, float3::y, and float3::z.
Referenced by kernel_accum_combined_pass(), and kernel_accum_combined_transparent_pass().
ccl_device_inline void kernel_accum_background | ( | KernelGlobals | kg, |
ConstIntegratorState | state, | ||
const float3 | L, | ||
const float | transparent, | ||
const bool | is_transparent_background_ray, | ||
ccl_global float *ccl_restrict | render_buffer | ||
) |
Definition at line 562 of file accumulate.h.
References buffer, ccl_global, INTEGRATOR_STATE, kernel_accum_clamp(), kernel_accum_combined_transparent_pass(), kernel_accum_emission_or_background_pass(), kernel_accum_pixel_render_buffer(), kernel_accum_transparent(), kernel_data, L, render_buffer, sample, and state.
Referenced by integrate_background().
ccl_device_forceinline void kernel_accum_clamp | ( | KernelGlobals | kg, |
ccl_private float3 * | L, | ||
int | bounce | ||
) |
Definition at line 98 of file accumulate.h.
References ensure_finite(), fabs(), isfinite_safe(), kernel_assert, kernel_data, L, reduce_add(), and sum().
Referenced by kernel_accum_background(), kernel_accum_emission(), and kernel_accum_light().
ccl_device_inline void kernel_accum_combined_pass | ( | KernelGlobals | kg, |
const uint32_t | path_flag, | ||
const int | sample, | ||
const float3 | contribution, | ||
ccl_global float *ccl_restrict | buffer | ||
) |
Definition at line 279 of file accumulate.h.
References buffer, kernel_accum_adaptive_buffer(), kernel_data, kernel_write_pass_float3(), PASSMASK, and sample.
Referenced by kernel_accum_emission(), and kernel_accum_light().
ccl_device_inline void kernel_accum_combined_transparent_pass | ( | KernelGlobals | kg, |
const uint32_t | path_flag, | ||
const int | sample, | ||
const float3 | contribution, | ||
const float | transparent, | ||
ccl_global float *ccl_restrict | buffer | ||
) |
Definition at line 299 of file accumulate.h.
References buffer, kernel_accum_adaptive_buffer(), kernel_data, kernel_write_pass_float4(), make_float4, PASSMASK, sample, float3::x, float3::y, and float3::z.
Referenced by kernel_accum_background().
ccl_device_inline void kernel_accum_emission | ( | KernelGlobals | kg, |
ConstIntegratorState | state, | ||
const float3 | L, | ||
ccl_global float *ccl_restrict | render_buffer, | ||
const int | lightgroup = LIGHTGROUP_NONE |
||
) |
Definition at line 592 of file accumulate.h.
References buffer, ccl_global, INTEGRATOR_STATE, kernel_accum_clamp(), kernel_accum_combined_pass(), kernel_accum_emission_or_background_pass(), kernel_accum_pixel_render_buffer(), kernel_data, L, render_buffer, sample, and state.
Referenced by integrate_distant_lights(), and integrate_light().
ccl_device_inline void kernel_accum_emission_or_background_pass | ( | KernelGlobals | kg, |
ConstIntegratorState | state, | ||
float3 | contribution, | ||
ccl_global float *ccl_restrict | buffer, | ||
const int | pass, | ||
const int | lightgroup = LIGHTGROUP_NONE |
||
) |
Definition at line 323 of file accumulate.h.
References buffer, if(), INTEGRATOR_STATE, kernel_data, KERNEL_FEATURE_LIGHT_PASSES, kernel_write_pass_float3(), LIGHTGROUP_NONE, one_float3(), 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 kernel_accum_background(), and kernel_accum_emission().
ccl_device_inline void kernel_accum_holdout | ( | KernelGlobals | kg, |
ConstIntegratorState | state, | ||
const uint32_t | path_flag, | ||
const float | transparent, | ||
ccl_global float *ccl_restrict | render_buffer | ||
) |
Definition at line 549 of file accumulate.h.
References buffer, ccl_global, kernel_accum_pixel_render_buffer(), kernel_accum_transparent(), render_buffer, and state.
ccl_device_inline void kernel_accum_light | ( | KernelGlobals | kg, |
ConstIntegratorShadowState | state, | ||
ccl_global float *ccl_restrict | render_buffer | ||
) |
Definition at line 418 of file accumulate.h.
References buffer, ccl_global, if(), INTEGRATOR_STATE, kernel_accum_clamp(), kernel_accum_combined_pass(), kernel_data, KERNEL_FEATURE_AO_ADDITIVE, KERNEL_FEATURE_AO_PASS, KERNEL_FEATURE_LIGHT_PASSES, kernel_write_pass_float3(), LIGHTGROUP_NONE, one_float3(), PASS_ANY, PASS_UNUSED, PATH_RAY_CAMERA, PATH_RAY_SHADOW_CATCHER_HIT, PATH_RAY_SHADOW_FOR_AO, PATH_RAY_SHADOW_FOR_LIGHT, PATH_RAY_SURFACE_PASS, PATH_RAY_TRANSPARENT_BACKGROUND, PATH_RAY_VOLUME_PASS, render_buffer, render_pixel_index, blender::math::safe_divide(), sample, and state.
Referenced by integrator_shade_shadow().
ccl_device_forceinline ccl_global float* kernel_accum_pixel_render_buffer | ( | KernelGlobals | kg, |
ConstIntegratorState | state, | ||
ccl_global float *ccl_restrict | render_buffer | ||
) |
Definition at line 125 of file accumulate.h.
References INTEGRATOR_STATE, kernel_data, render_buffer, render_pixel_index, and state.
Referenced by kernel_accum_background(), kernel_accum_emission(), kernel_accum_holdout(), and kernel_accum_sample().
ccl_device_inline int kernel_accum_sample | ( | KernelGlobals | kg, |
ConstIntegratorState | state, | ||
ccl_global float *ccl_restrict | render_buffer, | ||
int | sample, | ||
int | sample_offset | ||
) |
Definition at line 138 of file accumulate.h.
References atomic_fetch_and_add_uint32(), buffer, ccl_global, kernel_accum_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 kernel_accum_transparent | ( | KernelGlobals | kg, |
ConstIntegratorState | state, | ||
const uint32_t | path_flag, | ||
const float | transparent, | ||
ccl_global float *ccl_restrict | buffer | ||
) |
Definition at line 535 of file accumulate.h.
References buffer, kernel_data, kernel_write_pass_float(), and PASSMASK.
Referenced by integrator_init_from_bake(), kernel_accum_background(), and kernel_accum_holdout().