|
Blender V4.3
|
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) |
| 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().
| 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().
| 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 82 of file distant.h.
References ccl_global, distant_light_uv(), FLT_MAX, kernel_data_fetch, lamp, lamp_lightgroup(), LIGHT_DISTANT, PRIM_NONE, 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 133 of file distant.h.
References fast_cosf(), FLT_MAX, and make_float2().
Referenced by light_tree_emitter_importance().
| 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 ) |
Definition at line 13 of file distant.h.
References dot(), float4_to_float3(), len, v, Transform::x, and Transform::y.
Referenced by distant_light_sample(), and distant_light_sample_from_intersection().