Blender V5.0
point.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline bool point_light_sample (KernelGlobals kg, const ccl_global KernelLight *klight, const float2 rand, const float3 P, const float3 N, const int shader_flags, ccl_private LightSample *ls)
ccl_device_forceinline float sphere_light_pdf (const float d_sq, const float r_sq, const float3 N, const float3 D, const uint32_t path_flag)
ccl_device_forceinline void point_light_mnee_sample_update (KernelGlobals kg, const ccl_global KernelLight *klight, ccl_private LightSample *ls, const float3 P, const float3 N, const uint32_t path_flag)
ccl_device_inline bool point_light_intersect (const ccl_global KernelLight *klight, const ccl_private Ray *ccl_restrict ray, ccl_private float *t)
ccl_device_inline bool point_light_sample_from_intersection (KernelGlobals kg, const ccl_global KernelLight *klight, const float3 ray_P, const float3 ray_D, const float3 N, const uint32_t path_flag, ccl_private LightSample *ccl_restrict ls)
template<bool in_volume_segment>
ccl_device_forceinline bool point_light_tree_parameters (const ccl_global KernelLight *klight, const float3 centroid, const float3 P, ccl_private float &cos_theta_u, ccl_private float2 &distance, ccl_private float3 &point_to_centroid)

Function Documentation

◆ point_light_intersect()

◆ point_light_mnee_sample_update()

◆ point_light_sample()

◆ point_light_sample_from_intersection()

◆ point_light_tree_parameters()

template<bool in_volume_segment>
ccl_device_forceinline bool point_light_tree_parameters ( const ccl_global KernelLight * klight,
const float3 centroid,
const float3 P,
ccl_private float & cos_theta_u,
ccl_private float2 & distance,
ccl_private float3 & point_to_centroid )

◆ sphere_light_pdf()

ccl_device_forceinline float sphere_light_pdf ( const float d_sq,
const float r_sq,
const float3 N,
const float3 D,
const uint32_t path_flag )