Blender V4.3
light.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline bool light_select_reached_max_bounces (KernelGlobals kg, int index, int bounce)
 
ccl_device_inline int light_link_receiver_nee (KernelGlobals kg, const ccl_private ShaderData *sd)
 
ccl_device_inline int light_link_receiver_forward (KernelGlobals kg, IntegratorState state)
 
ccl_device_inline bool light_link_light_match (KernelGlobals kg, const int object_receiver, const int light_emitter)
 
ccl_device_inline bool light_link_object_match (KernelGlobals kg, const int object_receiver, const int object_emitter)
 
template<bool in_volume_segment>
ccl_device_inline bool light_sample (KernelGlobals kg, const int lamp, const float2 rand, const float3 P, const float3 N, const int shader_flags, const uint32_t path_flag, ccl_private LightSample *ls)
 
template<bool in_volume_segment>
ccl_device_noinline bool light_sample (KernelGlobals kg, const float3 rand_light, const float time, const float3 P, const float3 N, const int object_receiver, const int shader_flags, const int bounce, const uint32_t path_flag, ccl_private LightSample *ls)
 
template<bool is_main_path>
ccl_device_forceinline int lights_intersect_impl (KernelGlobals kg, ccl_private const Ray *ccl_restrict ray, ccl_private Intersection *ccl_restrict isect, const int last_prim, const int last_object, const int last_type, const uint32_t path_flag, const uint8_t path_mnee, const int receiver_forward, ccl_private uint *lcg_state, int num_hits)
 
ccl_device bool lights_intersect (KernelGlobals kg, IntegratorState state, ccl_private const Ray *ccl_restrict ray, ccl_private Intersection *ccl_restrict isect, const int last_prim, const int last_object, const int last_type, const uint32_t path_flag)
 
ccl_device int lights_intersect_shadow_linked (KernelGlobals kg, ccl_private const Ray *ccl_restrict ray, ccl_private Intersection *ccl_restrict isect, const int last_prim, const int last_object, const int last_type, const uint32_t path_flag, const int receiver_forward, ccl_private uint *lcg_state, const int num_hits)
 
ccl_device bool light_sample_from_intersection (KernelGlobals kg, ccl_private const Intersection *ccl_restrict isect, const float3 ray_P, const float3 ray_D, const float3 N, const uint32_t path_flag, ccl_private LightSample *ccl_restrict ls)
 

Function Documentation

◆ light_link_light_match()

ccl_device_inline bool light_link_light_match ( KernelGlobals kg,
const int object_receiver,
const int light_emitter )

◆ light_link_object_match()

ccl_device_inline bool light_link_object_match ( KernelGlobals kg,
const int object_receiver,
const int object_emitter )

◆ light_link_receiver_forward()

◆ light_link_receiver_nee()

ccl_device_inline int light_link_receiver_nee ( KernelGlobals kg,
const ccl_private ShaderData * sd )

◆ light_sample() [1/2]

template<bool in_volume_segment>
ccl_device_noinline bool light_sample ( KernelGlobals kg,
const float3 rand_light,
const float time,
const float3 P,
const float3 N,
const int object_receiver,
const int shader_flags,
const int bounce,
const uint32_t path_flag,
ccl_private LightSample * ls )

◆ light_sample() [2/2]

◆ light_sample_from_intersection()

◆ light_select_reached_max_bounces()

CCL_NAMESPACE_BEGIN ccl_device_inline bool light_select_reached_max_bounces ( KernelGlobals kg,
int index,
int bounce )

Definition at line 21 of file kernel/light/light.h.

References kernel_data_fetch.

Referenced by light_sample().

◆ lights_intersect()

ccl_device bool lights_intersect ( KernelGlobals kg,
IntegratorState state,
ccl_private const Ray *ccl_restrict ray,
ccl_private Intersection *ccl_restrict isect,
const int last_prim,
const int last_object,
const int last_type,
const uint32_t path_flag )

◆ lights_intersect_impl()

◆ lights_intersect_shadow_linked()

ccl_device int lights_intersect_shadow_linked ( KernelGlobals kg,
ccl_private const Ray *ccl_restrict ray,
ccl_private Intersection *ccl_restrict isect,
const int last_prim,
const int last_object,
const int last_type,
const uint32_t path_flag,
const int receiver_forward,
ccl_private uint * lcg_state,
const int num_hits )

Definition at line 428 of file kernel/light/light.h.

References lights_intersect_impl(), and PATH_MNEE_NONE.