Blender  V3.3
Functions
accumulate.h File Reference
#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.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline void bsdf_eval_init (ccl_private BsdfEval *eval, const ClosureType closure_type, float3 value)
 
ccl_device_inline void bsdf_eval_accum (ccl_private BsdfEval *eval, const ClosureType closure_type, float3 value)
 
ccl_device_inline bool bsdf_eval_is_zero (ccl_private BsdfEval *eval)
 
ccl_device_inline void bsdf_eval_mul (ccl_private BsdfEval *eval, float value)
 
ccl_device_inline void bsdf_eval_mul (ccl_private BsdfEval *eval, float3 value)
 
ccl_device_inline float3 bsdf_eval_sum (ccl_private const BsdfEval *eval)
 
ccl_device_inline float3 bsdf_eval_pass_diffuse_weight (ccl_private const BsdfEval *eval)
 
ccl_device_inline float3 bsdf_eval_pass_glossy_weight (ccl_private const BsdfEval *eval)
 
ccl_device_forceinline void kernel_accum_clamp (KernelGlobals kg, ccl_private float3 *L, int bounce)
 
ccl_device_forceinline ccl_global floatkernel_accum_pixel_render_buffer (KernelGlobals kg, ConstIntegratorState state, ccl_global float *ccl_restrict render_buffer)
 
ccl_device_inline int kernel_accum_sample (KernelGlobals kg, ConstIntegratorState state, ccl_global float *ccl_restrict render_buffer, int sample, int sample_offset)
 
ccl_device void kernel_accum_adaptive_buffer (KernelGlobals kg, const int sample, const float3 contribution, ccl_global float *ccl_restrict buffer)
 
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)
 
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)
 
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)
 
ccl_device_inline void kernel_accum_light (KernelGlobals kg, ConstIntegratorShadowState state, ccl_global float *ccl_restrict render_buffer)
 
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)
 
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)
 
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)
 
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)
 

Function Documentation

◆ bsdf_eval_accum()

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().

◆ bsdf_eval_init()

CCL_NAMESPACE_BEGIN ccl_device_inline void bsdf_eval_init ( ccl_private BsdfEval eval,
const ClosureType  closure_type,
float3  value 
)

◆ bsdf_eval_is_zero()

ccl_device_inline bool bsdf_eval_is_zero ( ccl_private BsdfEval eval)

◆ bsdf_eval_mul() [1/2]

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().

◆ bsdf_eval_mul() [2/2]

ccl_device_inline void bsdf_eval_mul ( ccl_private BsdfEval eval,
float3  value 
)

Definition at line 65 of file accumulate.h.

◆ bsdf_eval_pass_diffuse_weight()

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().

◆ bsdf_eval_pass_glossy_weight()

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().

◆ bsdf_eval_sum()

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().

◆ kernel_accum_adaptive_buffer()

ccl_device void kernel_accum_adaptive_buffer ( KernelGlobals  kg,
const int  sample,
const float3  contribution,
ccl_global float *ccl_restrict  buffer 
)

◆ kernel_accum_background()

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 
)

◆ kernel_accum_clamp()

ccl_device_forceinline void kernel_accum_clamp ( KernelGlobals  kg,
ccl_private float3 L,
int  bounce 
)

◆ kernel_accum_combined_pass()

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 
)

◆ kernel_accum_combined_transparent_pass()

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 
)

◆ kernel_accum_emission()

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 
)

◆ kernel_accum_emission_or_background_pass()

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 
)

◆ kernel_accum_holdout()

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 
)

◆ kernel_accum_light()

ccl_device_inline void kernel_accum_light ( KernelGlobals  kg,
ConstIntegratorShadowState  state,
ccl_global float *ccl_restrict  render_buffer 
)

◆ kernel_accum_pixel_render_buffer()

ccl_device_forceinline ccl_global float* kernel_accum_pixel_render_buffer ( KernelGlobals  kg,
ConstIntegratorState  state,
ccl_global float *ccl_restrict  render_buffer 
)

◆ 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 
)

◆ kernel_accum_transparent()

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 
)