rtcTraver...rsect1/Ex(3)

πŸ“¦ version 4.4.1, in ubuntu stonking

πŸ’– rtcTraversableForwardIntersect1/Ex β€” the Embree glow-up πŸ’–

okay bestie, we're in the Embree Ray Tracing Kernels 4 corner of the manual, section (3), and today's main character is a lil pair of functions that yeet one single ray off into a whole new scene from inside a user geometry callback. yes. from inside. iconic behavior. ✨


🌸 NAME 🌸

rtcTraversableForwardIntersect1/Ex β€” forwards a single ray to new scene from user geometry callback πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include <embree4/rtcore.h>

void rtcTraversableForwardIntersect1(
  const struct RTCIntersectFunctionNArguments* args,
  RTCTraversable traversable,
  struct RTCRay* ray,
  unsigned int instID
);

void rtcTraversableForwardIntersect1Ex(
  const struct RTCIntersectFunctionNArguments* args,
  RTCTraversable traversable,
  struct RTCRay* ray,
  unsigned int instID,
  unsigned int instPrimID,
);
lowkey note: yes, that trailing comma on the rtcTraversableForwardIntersect1Ex prototype is exactly how it appears in the source. not me editing the canonical docs, never. πŸ™ˆ

πŸ¦‹ DESCRIPTION πŸ¦‹

so, rtcTraversableForwardIntersect1 and rtcTraversableForwardIntersect1Ex are literally the same energy as rtcForwardIntersect1 and rtcForwardIntersect1Ex respectively β€” except instead of handing over a scene object, they take a traversable object (that's the traversable argument, bestie, she's right there in the param list 🫢).

that's it. that's the whole difference. one argument, massive vibe shift, no cap. ✨

psst β€” the manpage spells it rtcTraversalbeForwardIntersect1 at the top of this section, which is just the same function with a little typo shimmer on it. we still love her. πŸ’œ

and for more details, go read the documentation of rtcForwardIntersect1/Ex β€” that's where the real lore lives, and this page is not about to duplicate it. periodt. πŸ“–


πŸ’€ EXIT STATUS πŸ’€

bestie. listen. πŸ‘€

for performance reasons this function does not do any error checks, so it will not set any error flags on failure. she is fast, she is unbothered, she will simply not tell you what went wrong. if you were waiting for a cute lil error code, she's not sending one. fr fr. 😭


⭐ SEE ALSO ⭐

  • rtcForwardIntersect1 β€” the original queen herself πŸ‘‘
  • rtcGetSceneTraversable β€” how you get one of those traversable objects in the first place 🧚

πŸ’… a lil sign-off πŸ’…

this whole page is part of the Embree Ray Tracing Kernels 4 manual set, and the footer's just a lil echo of the same rtcTraver...rsect1/Ex(3) title squished into the corner like a sticker. go forth, forward those rays, stay traversable, and remember: no error checks means no error flags, so vibe check your own args. mwah. πŸ’–πŸŒΈβœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from