|
Blender
V2.93
|
Go to the source code of this file.
Macros | |
| #define | dot3(a, b) dot(a, b) |
Functions | |
| CCL_NAMESPACE_BEGIN ccl_device bool | ray_sphere_intersect (float3 ray_P, float3 ray_D, float ray_t, float3 sphere_P, float sphere_radius, float3 *isect_P, float *isect_t) |
| ccl_device bool | ray_aligned_disk_intersect (float3 ray_P, float3 ray_D, float ray_t, float3 disk_P, float disk_radius, float3 *isect_P, float *isect_t) |
| ccl_device_forceinline bool | ray_triangle_intersect (float3 ray_P, float3 ray_dir, float ray_t, const float3 tri_a, const float3 tri_b, const float3 tri_c, float *isect_u, float *isect_v, float *isect_t) |
| ccl_device bool | ray_quad_intersect (float3 ray_P, float3 ray_D, float ray_mint, float ray_maxt, float3 quad_P, float3 quad_u, float3 quad_v, float3 quad_n, float3 *isect_P, float *isect_t, float *isect_u, float *isect_v, bool ellipse) |
| #define dot3 | ( | a, | |
| b | |||
| ) | dot(a, b) |
| ccl_device bool ray_aligned_disk_intersect | ( | float3 | ray_P, |
| float3 | ray_D, | ||
| float | ray_t, | ||
| float3 | disk_P, | ||
| float | disk_radius, | ||
| float3 * | isect_P, | ||
| float * | isect_t | ||
| ) |
Definition at line 58 of file util_math_intersect.h.
References dot(), len_squared(), normalize_len(), P(), t, and UNLIKELY.
Referenced by lamp_light_eval().
| ccl_device bool ray_quad_intersect | ( | float3 | ray_P, |
| float3 | ray_D, | ||
| float | ray_mint, | ||
| float | ray_maxt, | ||
| float3 | quad_P, | ||
| float3 | quad_u, | ||
| float3 | quad_v, | ||
| float3 | quad_n, | ||
| float3 * | isect_P, | ||
| float * | isect_t, | ||
| float * | isect_u, | ||
| float * | isect_v, | ||
| bool | ellipse | ||
| ) |
Definition at line 202 of file util_math_intersect.h.
References dot(), NULL, t, and v.
Referenced by lamp_light_eval().
| CCL_NAMESPACE_BEGIN ccl_device bool ray_sphere_intersect | ( | float3 | ray_P, |
| float3 | ray_D, | ||
| float | ray_t, | ||
| float3 | sphere_P, | ||
| float | sphere_radius, | ||
| float3 * | isect_P, | ||
| float * | isect_t | ||
| ) |
Definition at line 24 of file util_math_intersect.h.
| ccl_device_forceinline bool ray_triangle_intersect | ( | float3 | ray_P, |
| float3 | ray_dir, | ||
| float | ray_t, | ||
| const float3 | tri_a, | ||
| const float3 | tri_b, | ||
| const float3 | tri_c, | ||
| float * | isect_u, | ||
| float * | isect_v, | ||
| float * | isect_t | ||
| ) |
Definition at line 88 of file util_math_intersect.h.
References __float_as_int(), cross(), dot(), dot3, madd(), max, min, movemask(), P(), shuffle< 1, 1, 3, 3 >(), T, UNLIKELY, V, v1, v2, float3::x, xor_signmask(), float3::y, and float3::z.
Referenced by motion_triangle_intersect(), triangle_intersect(), and triangle_light_sample().