|
Blender V4.3
|
#include "kernel/light/common.h"Go to the source code of this file.
| ccl_device_inline bool point_light_intersect | ( | const ccl_global KernelLight * | klight, |
| const ccl_private Ray *ccl_restrict | ray, | ||
| ccl_private float * | t ) |
Definition at line 130 of file light/point.h.
References normalize(), P, ray_disk_intersect(), and ray_sphere_intersect().
Referenced by lights_intersect_impl(), and spot_light_intersect().
| ccl_device_forceinline void point_light_mnee_sample_update | ( | const ccl_global KernelLight * | klight, |
| ccl_private LightSample * | ls, | ||
| const float3 | P, | ||
| const float3 | N, | ||
| const uint32_t | path_flag ) |
Definition at line 93 of file light/point.h.
References fabsf, len_squared(), M_PI_F, map_to_sphere(), N, normalize(), normalize_len(), P, sphere_light_pdf(), sqr(), transform_direction(), float2::x, and float2::y.
Referenced by light_sample_update().
| CCL_NAMESPACE_BEGIN ccl_device_inline bool point_light_sample | ( | const ccl_global KernelLight * | klight, |
| const float2 | rand, | ||
| const float3 | P, | ||
| const float3 | N, | ||
| const int | shader_flags, | ||
| ccl_private LightSample * | ls ) |
Definition at line 11 of file light/point.h.
References copysignf, cos_theta(), disk_light_sample(), dot(), len_squared(), light_pdf_area_to_solid_angle(), M_PI_F, map_to_sphere(), N, normalize(), normalize_len(), one_minus_cos(), P, safe_sqrtf(), sample_cos_hemisphere(), sample_uniform_cone(), sample_uniform_sphere(), SD_BSDF_HAS_TRANSMISSION, sin_sqr_to_one_minus_cos(), sqr(), sqrtf, transform_direction(), float2::x, and float2::y.
Referenced by light_sample().
| ccl_device_inline bool point_light_sample_from_intersection | ( | 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 ) |
Definition at line 151 of file light/point.h.
References FLT_MAX, len_squared(), light_pdf_area_to_solid_angle(), M_PI_F, map_to_sphere(), N, normalize(), sphere_light_pdf(), sqr(), transform_direction(), float2::x, and float2::y.
Referenced by light_sample_from_intersection().
| 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 ) |
Definition at line 191 of file light/point.h.
References cos_from_sin(), one_float2(), P, safe_normalize_len(), sqr(), and sqrtf.
Referenced by light_tree_emitter_importance().
| 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 ) |
Definition at line 82 of file light/point.h.
References N, PATH_RAY_MIS_HAD_TRANSMISSION, pdf_cos_hemisphere(), and sin_sqr_to_one_minus_cos().
Referenced by point_light_mnee_sample_update(), and point_light_sample_from_intersection().