RTCRay(3)

πŸ“¦ version 3.13.5, in epel 9, fedora 43, fedora 44

πŸ’– NAME πŸ’–

RTCRayHit β€” the combined single ray/hit structure, aka the iconic duo where your ray and its hit result share one lil struct 🫢


✨ SYNOPSIS ✨

#include <embree3/rtcore_ray.h>

struct RTCORE_ALIGN(16) RTCRayHit
{
  struct RTCRay ray;
  struct RTCHit hit;
};

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so bestie, listen. RTCRayHit is what you hand over as input to the rtcIntersect-type functions. It holds two things: the ray you wanna intersect, and then some hit fields that get filled in with the intersection result afterwards. It's giving "one struct, two jobs, main character energy" πŸ‘‘

The embree3/rtcore_ray.h header is not done spoiling you though. It additionally defines the very same ray/hit structure in structure of array (SOA) layout, for the API functions that accept ray packets:

  • packets of size 4 β†’ RTCRayHit4 type
  • packets of size 8 β†’ RTCRayHit8 type
  • packets of size 16 β†’ RTCRayHit16 type

and on top of that, the header also defines an RTCRayHitNt template so you can generate ray/hit packets of an arbitrary compile-time size. obsessed, fr fr πŸ’…


🌈 EXIT STATUS 🌈

no cap, this section is literally empty in the original. nothing to report, bestie πŸ™ˆ

πŸŽ€ SEE ALSO πŸŽ€

  • [RTCRay]
  • [RTCHit]

and that's the whole vibe check, bestie ✨ this was RTCRay(3) from the Embree Ray Tracing Kernels 3 era β€” go forth and intersect responsibly πŸ’–πŸŒΈπŸ¦‹

πŸ“¦ where this page comes from