|
Blender V4.3
|
Go to the source code of this file.
| ccl_device bool ray_aabb_intersect | ( | const float3 | bbox_min, |
| const float3 | bbox_max, | ||
| const float3 | ray_P, | ||
| const float3 | ray_D, | ||
| ccl_private float2 * | t_range ) |
Definition at line 329 of file math_intersect.h.
References float3_to_float4(), make_float2(), max, min, rcp(), reduce_max(), and reduce_min().
Referenced by area_light_valid_ray_segment().
| ccl_device bool ray_aligned_disk_intersect | ( | float3 | ray_P, |
| float3 | ray_D, | ||
| float | ray_tmin, | ||
| float | ray_tmax, | ||
| float3 | disk_P, | ||
| float | disk_radius, | ||
| ccl_private float3 * | isect_P, | ||
| ccl_private float * | isect_t ) |
Definition at line 50 of file math_intersect.h.
References dot(), len_squared(), normalize_len(), P, and UNLIKELY.
| ccl_device_inline bool ray_cone_intersect | ( | const float3 | axis, |
| const float3 | P, | ||
| float3 | D, | ||
| const float | cos_angle_sq, | ||
| ccl_private float2 * | t_range ) |
Definition at line 397 of file math_intersect.h.
References b, dot(), FLT_MAX, intervals_intersect(), inversesqrtf(), len_squared(), make_float2(), P, ray_plane_intersect(), solve_quadratic(), and sqr().
Referenced by area_light_valid_ray_segment(), and spot_light_valid_ray_segment().
| ccl_device bool ray_disk_intersect | ( | float3 | ray_P, |
| float3 | ray_D, | ||
| float | ray_tmin, | ||
| float | ray_tmax, | ||
| float3 | disk_P, | ||
| float3 | disk_N, | ||
| float | disk_radius, | ||
| ccl_private float3 * | isect_P, | ||
| ccl_private float * | isect_t ) |
Definition at line 81 of file math_intersect.h.
References dot(), P, and sqr().
Referenced by point_light_intersect().
| ccl_device_inline bool ray_infinite_cylinder_intersect | ( | const float3 | P, |
| const float3 | D, | ||
| const float | len_u, | ||
| const float | len_v, | ||
| ccl_private float2 * | t_range ) |
Definition at line 356 of file math_intersect.h.
References b, dot(), float3_to_float2(), intervals_intersect(), make_float2(), P, and solve_quadratic().
Referenced by area_light_valid_ray_segment().
| ccl_device bool ray_plane_intersect | ( | const float3 | N, |
| const float3 | P, | ||
| const float3 | ray_D, | ||
| ccl_private float2 * | t_range ) |
Definition at line 307 of file math_intersect.h.
References dot(), fmaxf, fminf, N, and P.
Referenced by area_light_valid_ray_segment(), ray_cone_intersect(), and triangle_light_valid_ray_segment().
| ccl_device bool ray_quad_intersect | ( | float3 | ray_P, |
| float3 | ray_D, | ||
| float | ray_tmin, | ||
| float | ray_tmax, | ||
| float3 | quad_P, | ||
| float3 | inv_quad_u, | ||
| float3 | inv_quad_v, | ||
| float3 | quad_n, | ||
| ccl_private float3 * | isect_P, | ||
| ccl_private float * | isect_t, | ||
| ccl_private float * | isect_u, | ||
| ccl_private float * | isect_v, | ||
| bool | ellipse ) |
Definition at line 257 of file math_intersect.h.
References dot(), NULL, and v.
Referenced by area_light_intersect(), and background_portal_pdf().
| CCL_NAMESPACE_BEGIN ccl_device bool ray_sphere_intersect | ( | float3 | ray_P, |
| float3 | ray_D, | ||
| float | ray_tmin, | ||
| float | ray_tmax, | ||
| float3 | sphere_P, | ||
| float | sphere_radius, | ||
| ccl_private float3 * | isect_P, | ||
| ccl_private float * | isect_t ) |
Definition at line 12 of file math_intersect.h.
References copysignf, dot(), len_squared(), and sqrtf.
Referenced by point_light_intersect(), and spot_light_sample().
| ccl_device_inline float3 ray_triangle_cross | ( | const float3 | a, |
| const float3 | b ) |
Definition at line 148 of file math_intersect.h.
References b, make_float3(), make_float4(), and msub().
Referenced by ray_triangle_intersect(), and ray_triangle_intersect_self().
| ccl_device_inline float ray_triangle_dot | ( | const float3 | a, |
| const float3 | b ) |
Definition at line 137 of file math_intersect.h.
References b, madd(), and make_float4().
Referenced by ray_triangle_intersect(), and ray_triangle_intersect_self().
| ccl_device_forceinline bool ray_triangle_intersect | ( | const float3 | ray_P, |
| const float3 | ray_D, | ||
| const float | ray_tmin, | ||
| const float | ray_tmax, | ||
| const float3 | tri_a, | ||
| const float3 | tri_b, | ||
| const float3 | tri_c, | ||
| ccl_private float * | isect_u, | ||
| ccl_private float * | isect_v, | ||
| ccl_private float * | isect_t ) |
Definition at line 160 of file math_intersect.h.
References dot(), eps, fabsf, max, min, ray_triangle_cross(), ray_triangle_dot(), ray_triangle_rcp(), UNLIKELY, V, v2, and W.
Referenced by motion_triangle_intersect(), triangle_intersect(), and triangle_light_sample().
| ccl_device_forceinline bool ray_triangle_intersect_self | ( | const float3 | ray_P, |
| const float3 | ray_D, | ||
| const float3 | verts[3] ) |
Definition at line 221 of file math_intersect.h.
References eps, fabsf, max, min, ray_triangle_cross(), ray_triangle_dot(), V, v2, verts, and W.
Referenced by integrate_surface_ray_offset().
| ccl_device_forceinline float ray_triangle_rcp | ( | const float | x | ) |
Definition at line 113 of file math_intersect.h.
References x.
Referenced by ray_triangle_intersect().