Blender  V2.93
Macros | Functions
util_math_intersect.h File Reference

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)
 

Macro Definition Documentation

◆ dot3

#define dot3 (   a,
 
)    dot(a, b)

Function Documentation

◆ ray_aligned_disk_intersect()

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().

◆ ray_quad_intersect()

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().

◆ ray_sphere_intersect()

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.

References dot(), sqrtf, and t.

◆ ray_triangle_intersect()

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 
)