|
Blender V5.0
|
Go to the source code of this file.
Functions | |
| CCL_NAMESPACE_BEGIN ccl_device_inline void | distant_light_uv (KernelGlobals kg, const ccl_global KernelLight *klight, const float3 D, ccl_private float *u, ccl_private float *v) |
| ccl_device_inline bool | distant_light_sample (KernelGlobals kg, 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) |
| 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 63 of file distant.h.
References ccl_device, ccl_global, ccl_private, ccl_restrict, FLT_MAX, kernel_assert, LIGHT_DISTANT, v, and vector_angle().
Referenced by lights_intersect_impl().
| ccl_device_inline bool distant_light_sample | ( | KernelGlobals | kg, |
| const ccl_global KernelLight * | klight, | ||
| const float2 | rand, | ||
| ccl_private LightSample * | ls ) |
Definition at line 37 of file distant.h.
References ccl_device_inline, ccl_global, ccl_private, distant_light_uv(), FLT_MAX, and sample_uniform_cone().
Referenced by light_sample().
| ccl_device bool distant_light_sample_from_intersection | ( | KernelGlobals | kg, |
| const float3 | ray_D, | ||
| const int | lamp, | ||
| ccl_private LightSample *ccl_restrict | ls ) |
Definition at line 86 of file distant.h.
References ccl_device, ccl_global, ccl_private, ccl_restrict, distant_light_uv(), FLT_MAX, kernel_data_fetch, LIGHT_DISTANT, object_lightgroup(), SHADER_USE_MIS, and vector_angle().
Referenced by integrate_distant_lights().
| 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 136 of file distant.h.
References ccl_device_forceinline, ccl_private, distance(), fast_cosf(), FLT_MAX, and make_float2.
Referenced by light_tree_emitter_importance().
| CCL_NAMESPACE_BEGIN ccl_device_inline void distant_light_uv | ( | KernelGlobals | kg, |
| const ccl_global KernelLight * | klight, | ||
| const float3 | D, | ||
| ccl_private float * | u, | ||
| ccl_private float * | v ) |
Definition at line 15 of file distant.h.
References ccl_device_inline, ccl_global, ccl_private, D, dot(), lamp_get_inverse_transform(), len, make_float3(), v, Transform::x, and Transform::y.
Referenced by distant_light_sample(), and distant_light_sample_from_intersection().