RTCTRAVERSABLEFORWARDINTERSECT4(3)

πŸ“¦ version 4.4.1, in ubuntu stonking

✨ NAME ✨

rtcTraversableForwardIntersect4/8/16/Ex β€” the glow-up where you forward a ray packet to a brand new scene, straight from inside your user geometry callback πŸ¦‹ (it's giving "plot twist, we're traversing somewhere else now")

It lives in section 3 of the manual, and the manual page goes by rtcTraver...t4/8/16/Ex(3) β€” yes bestie, that name got trimmed for the header, it's the whole Embree Ray Tracing Kernels 4 situation πŸ’…


🌸 SYNOPSIS 🌸

First thing first, you gotta include the goods:

#include <embree4/rtcore.h>

And here come all six of the icons, in full, no skips πŸ‘‘

void rtcTraversableForwardIntersect4(
  void int* valid,
  const struct RTCIntersectFunctionNArguments* args,
  RTCTraversable traversable,
  struct RTCRay4* ray,
  unsigned int instID
);

void rtcTraversableForwardIntersect8(
  void int* valid,
  const struct RTCIntersectFunctionNArguments* args,
  RTCTraversable traversable,
  struct RTCRay8* ray,
  unsigned int instID
);

void rtcTraversableForwardIntersect16(
  void int* valid,
  const struct RTCIntersectFunctionNArguments* args,
  RTCTraversable traversable,
  struct RTCRay16* ray,
  unsigned int instID,
  unsigned int instPrimID
);

void rtcTraversableForwardIntersect4Ex(
  void int* valid,
  const struct RTCIntersectFunctionNArguments* args,
  RTCTraversable traversable,
  struct RTCRay4* ray,
  unsigned int instID,
  unsigned int instPrimID
);

void rtcTraversableForwardIntersect8Ex(
  void int* valid,
  const struct RTCIntersectFunctionNArguments* args,
  RTCTraversable traversable,
  struct RTCRay8* ray,
  unsigned int instID,
  unsigned int instPrimID
);

void rtcTraversableForwardIntersect16Ex(
  void int* valid,
  const struct RTCIntersectFunctionNArguments* args,
  RTCTraversable traversable,
  struct RTCRay16* ray,
  unsigned int instID,
  unsigned int instPrimID
);

πŸ’– DESCRIPTION πŸ’–

Okay so listen. rtcTraversableForwardIntersect4/8/16/Ex</p> and rtcForwardIntersect4/8/16/Ex</p> are literally twins β€” same energy, same job, same everything β€” with one teeny tiny difference that changes the whole vibe:

  • the rtcForwardIntersect4/8/16/Ex crew takes a scene object
  • this crew takes a traversable object instead β€” that's the traversable argument 🫢

That's it. That's the plot. No cap.

And if you want the full lore, the details, the deep dive? Go read the docs for rtcForwardIntersect4/8/16/Ex, bestie β€” they said it there first and this page is fr just the reference. iykyk πŸ’…


😭 EXIT STATUS 😭

Not me doing zero error checks… bestie, the performance was the priority, okay?!

Because this function is optimized for performance, it does no error checks at all. So if something goes wrong, it will not set any error flags on failure. Silent. Iconic? Maybe. Chaotic? Also yes. πŸ’€ Be aware, that's the tradeoff.


πŸŽ€ SEE ALSO πŸŽ€

  • rtcForwardIntersect4/8/16/Ex β€” the original, the blueprint, the main character 🌟
  • rtcGetSceneTraversable β€” how you get yourself one of those traversable thingies in the first place 🧚

And that's the whole page, babes 🌈 β€” this was rtcTraver...t4/8/16/Ex(3), coming to you from the Embree Ray Tracing Kernels 4 era, signed, sealed, and slayed πŸ’œπŸŒΈβœ¨

πŸ“¦ where this page comes from