RTCRayHitN.3embree3 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. .TH "RTCRayHitN" "3" "" "" "Embree Ray Tracing Kernels 3"
  2. .SS NAME
  3. .IP
  4. .nf
  5. \f[C]
  6. RTCRayHitN\ \-\ combined\ ray/hit\ packet\ of\ runtime\ size
  7. \f[]
  8. .fi
  9. .SS SYNOPSIS
  10. .IP
  11. .nf
  12. \f[C]
  13. #include\ <embree3/rtcore_ray.h>
  14. struct\ RTCRayHitN;
  15. struct\ RTCRayN*\ RTCRayHitN_RayN(struct\ RTCRayHitN*\ rayhit,\ unsigned\ int\ N);
  16. struct\ RTCHitN*\ RTCRayHitN_HitN(struct\ RTCRayHitN*\ rayhit,\ unsigned\ int\ N);
  17. \f[]
  18. .fi
  19. .SS DESCRIPTION
  20. .PP
  21. When the packet size of a ray/hit structure is not known at compile time
  22. (e.g.
  23. when Embree returns a ray/hit packet in the
  24. \f[C]RTCIntersectFunctionN\f[] callback function), Embree uses the
  25. \f[C]RTCRayHitN\f[] type for ray packets.
  26. These ray/hit packets can only have sizes of 1, 4, 8, or 16.
  27. No other packet size will be used.
  28. .PP
  29. You can either implement different special code paths for each of these
  30. possible packet sizes and cast the ray/hit to the appropriate ray/hit
  31. packet type, or extract the \f[C]RTCRayN\f[] and \f[C]RTCHitN\f[]
  32. components using the \f[C]rtcGetRayN\f[] and \f[C]rtcGetHitN\f[] helper
  33. functions and use the \f[C]RTCRayN_XXX\f[] and \f[C]RTCHitN_XXX\f[]
  34. functions to access the ray and hit parts of the structure.
  35. .SS EXIT STATUS
  36. .SS SEE ALSO
  37. .PP
  38. [RTCHitN]