Template Function wt::intersect::intersect_ray_tri(const pqvec3_w_t<W>&, const vec3_w_t<W>&, const pqvec3_w_t<W>&, const pqvec3_w_t<W>&, const pqvec3_w_t<W>&, const pqrange_t<>&)

Function Documentation

template<std::size_t W>
inline intersect_ray_tri_w_ret_t<W> wt::intersect::intersect_ray_tri(const pqvec3_w_t<W> &ro, const vec3_w_t<W> &rd, const pqvec3_w_t<W> &a, const pqvec3_w_t<W> &b, const pqvec3_w_t<W> &c, const pqrange_t<> &range = pqrange_t<>::positive()) noexcept

Ray-triangle intersection. Returns distance or -inf if no intersection. Wide test. Möller–Trumbore ray-triangle intersection, 1997, 10.1080/10867651.1997.10487468.

Parameters:
  • ro – ray origins

  • rd – ray directions

  • a – first vertices of triangles

  • b – second vertices of triangles

  • c – third vertices of triangles