RTCRayN.3embree3 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. .TH "RTCRayN" "3" "" "" "Embree Ray Tracing Kernels 3"
  2. .SS NAME
  3. .IP
  4. .nf
  5. \f[C]
  6. RTCRayN\ \-\ ray\ 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\ RTCRayN;
  15. float&\ RTCRayN_org_x(RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  16. float&\ RTCRayN_org_y(RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  17. float&\ RTCRayN_org_z(RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  18. float&\ RTCRayN_tnear(RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  19. float&\ RTCRayN_dir_x(RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  20. float&\ RTCRayN_dir_y(RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  21. float&\ RTCRayN_dir_z(RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  22. float&\ RTCRayN_time\ (RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  23. float&\ \ \ \ \ \ \ \ RTCRayN_tfar\ (RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  24. unsigned\ int&\ RTCRayN_mask\ (RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  25. unsigned\ int&\ RTCRayN_id\ \ \ (RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  26. unsigned\ int&\ RTCRayN_flags(RTCRayN*\ ray,\ unsigned\ int\ N,\ unsigned\ int\ i);
  27. \f[]
  28. .fi
  29. .SS DESCRIPTION
  30. .PP
  31. When the ray packet size is not known at compile time (e.g.
  32. when Embree returns a ray packet in the \f[C]RTCFilterFuncN\f[] callback
  33. function), Embree uses the \f[C]RTCRayN\f[] type for ray packets.
  34. These ray packets can only have sizes of 1, 4, 8, or 16.
  35. No other packet size will be used.
  36. .PP
  37. You can either implement different special code paths for each of these
  38. possible packet sizes and cast the ray to the appropriate ray packet
  39. type, or implement one general code path that uses the
  40. \f[C]RTCRayN_XXX\f[] helper functions to access the ray packet
  41. components.
  42. .PP
  43. These helper functions get a pointer to the ray packet (\f[C]ray\f[]
  44. argument), the packet size (\f[C]N\f[] argument), and returns a
  45. reference to a component (e.g.
  46. x\-component of origin) of the the i\-th ray of the packet (\f[C]i\f[]
  47. argument).
  48. .SS EXIT STATUS
  49. .SS SEE ALSO
  50. .PP
  51. [RTCHitN]