Blender V4.3
distant.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline void distant_light_uv (const ccl_global KernelLight *klight, const float3 D, ccl_private float *u, ccl_private float *v)
 
ccl_device_inline bool distant_light_sample (const ccl_global KernelLight *klight, const float2 rand, ccl_private LightSample *ls)
 
ccl_device bool distant_light_intersect (const ccl_global KernelLight *klight, const ccl_private Ray *ccl_restrict ray, ccl_private float *t, ccl_private float *u, ccl_private float *v)
 
ccl_device bool distant_light_sample_from_intersection (KernelGlobals kg, const float3 ray_D, const int lamp, ccl_private LightSample *ccl_restrict ls)
 
template<bool in_volume_segment>
ccl_device_forceinline bool distant_light_tree_parameters (const float3 centroid, const float theta_e, const float t, ccl_private float &cos_theta_u, ccl_private float2 &distance, ccl_private float3 &point_to_centroid, ccl_private float &theta_d)
 

Function Documentation

◆ distant_light_intersect()

ccl_device bool distant_light_intersect ( const ccl_global KernelLight * klight,
const ccl_private Ray *ccl_restrict ray,
ccl_private float * t,
ccl_private float * u,
ccl_private float * v )

Definition at line 59 of file distant.h.

References FLT_MAX, kernel_assert, LIGHT_DISTANT, v, and vector_angle().

Referenced by lights_intersect_impl().

◆ distant_light_sample()

ccl_device_inline bool distant_light_sample ( const ccl_global KernelLight * klight,
const float2 rand,
ccl_private LightSample * ls )

Definition at line 34 of file distant.h.

References distant_light_uv(), FLT_MAX, and sample_uniform_cone().

Referenced by light_sample().

◆ distant_light_sample_from_intersection()

ccl_device bool distant_light_sample_from_intersection ( KernelGlobals kg,
const float3 ray_D,
const int lamp,
ccl_private LightSample *ccl_restrict ls )

◆ distant_light_tree_parameters()

template<bool in_volume_segment>
ccl_device_forceinline bool distant_light_tree_parameters ( const float3 centroid,
const float theta_e,
const float t,
ccl_private float & cos_theta_u,
ccl_private float2 & distance,
ccl_private float3 & point_to_centroid,
ccl_private float & theta_d )

Definition at line 133 of file distant.h.

References fast_cosf(), FLT_MAX, and make_float2().

Referenced by light_tree_emitter_importance().

◆ distant_light_uv()

CCL_NAMESPACE_BEGIN ccl_device_inline void distant_light_uv ( const ccl_global KernelLight * klight,
const float3 D,
ccl_private float * u,
ccl_private float * v )