12JPH_INLINE
Vec8 RayTriangle8(
Vec3Arg inOrigin,
Vec3Arg inDirection,
Vec8Arg inV0X,
Vec8Arg inV0Y,
Vec8Arg inV0Z,
Vec8Arg inV1X,
Vec8Arg inV1Y,
Vec8Arg inV1Z,
Vec8Arg inV2X,
Vec8Arg inV2Y,
Vec8Arg inV2Z)
22 Vec8 e1x = inV1X - inV0X;
23 Vec8 e1y = inV1Y - inV0Y;
24 Vec8 e1z = inV1Z - inV0Z;
25 Vec8 e2x = inV2X - inV0X;
26 Vec8 e2y = inV2Y - inV0Y;
27 Vec8 e2z = inV2Z - inV0Z;
35 Vec8 px = dy * e2z - dz * e2y;
36 Vec8 py = dz * e2x - dx * e2z;
37 Vec8 pz = dx * e2y - dy * e2x;
40 Vec8 det = e1x * px + e1y * py + e1z * pz;
54 Vec8 u = (sx * px + sy * py + sz * pz) / det;
57 Vec8 qx = sy * e1z - sz * e1y;
58 Vec8 qy = sz * e1x - sx * e1z;
59 Vec8 qz = sx * e1y - sy * e1x;
62 Vec8 v = (dx * qx + dy * qy + dz * qz) / det;
65 Vec8 t = (e2x * qx + e2y * qy + e2z * qz) / det;
68 UVec8 no_intersection =
#define JPH_NAMESPACE_END
Definition: Core.h:378
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:372
JPH_NAMESPACE_BEGIN JPH_INLINE Vec8 RayTriangle8(Vec3Arg inOrigin, Vec3Arg inDirection, Vec8Arg inV0X, Vec8Arg inV0Y, Vec8Arg inV0Z, Vec8Arg inV1X, Vec8Arg inV1Y, Vec8Arg inV1Z, Vec8Arg inV2X, Vec8Arg inV2Y, Vec8Arg inV2Z)
Intersect ray with 8 triangles in SOA format, returns 8 vector of closest points or FLT_MAX if no hit...
Definition: RayTriangle8.h:12
static JPH_INLINE UVec8 sOr(UVec8Arg inV1, UVec8Arg inV2)
Logical or.
Definition: UVec8.inl:51
static JPH_INLINE UVec8 sLess(Vec8Arg inV1, Vec8Arg inV2)
Less than.
Definition: Vec8.inl:63
static JPH_INLINE Vec8 sSplatX(Vec4Arg inV)
Replicate the X component of inV to all components.
Definition: Vec8.inl:24
JPH_INLINE Vec8 Abs() const
Get absolute value of all components.
Definition: Vec8.inl:124
static JPH_INLINE Vec8 sSplatY(Vec4Arg inV)
Replicate the Y component of inV to all components.
Definition: Vec8.inl:29
static JPH_INLINE UVec8 sGreater(Vec8Arg inV1, Vec8Arg inV2)
Greater than.
Definition: Vec8.inl:68
static JPH_INLINE Vec8 sZero()
Vector with all zeros.
Definition: Vec8.inl:14
static JPH_INLINE Vec8 sSelect(Vec8Arg inV1, Vec8Arg inV2, UVec8Arg inControl)
Component wise select, returns inV1 when highest bit of inControl = 0 and inV2 when highest bit of in...
Definition: Vec8.inl:48
static JPH_INLINE Vec8 sSplatZ(Vec4Arg inV)
Replicate the Z component of inV to all components.
Definition: Vec8.inl:34
static JPH_INLINE Vec8 sReplicate(float inV)
Replicate across all components.
Definition: Vec8.inl:19