rtcFilterIntersection(3)

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

✨ rtcFilterIntersection(3) ✨

okay bestie, welcome to Embree Ray Tracing Kernels 3 πŸŽ€ β€” this is the manual page for rtcFilterIntersection, and yes it's giving niche-but-iconic. sit down, hydrate, let's go πŸ’–


πŸ’« NAME πŸ’«

rtcFilterIntersection β€” invokes the intersection filter function


🌸 SYNOPSIS 🌸

#include <embree3/rtcore.h>

void rtcFilterIntersection(
  const struct RTCIntersectFunctionNArguments* args,
  const struct RTCFilterFunctionNArguments* filterArgs
);

πŸ¦‹ DESCRIPTION πŸ¦‹

so, the way that rtcFilterIntersection works is that you call it inside an RTCIntersectFunctionN callback function, and its whole job is to invoke the intersection filter that's registered to the geometry and stored inside the context. like, you're the middleman and this is the handoff 🀝

for that, you gotta create an RTCFilterFunctionNArguments structure (peep rtcSetGeometryIntersectFilterFunction for the deets). and what's in that lil struct? basically:

  • a valid mask
  • a hit packet to filter
  • the corresponding ray packet
  • the packet size

then, after the invocation of rtcFilterIntersection, only rays that are still valid (valid mask set to -1) should update a hit. that's the vibe check: -1 or you're not updating anything, periodt πŸ’…


πŸ’€ EXIT STATUS πŸ’€

for performance reasons, this function does not do any error checks, so it will not set any error flags on failure. no cap. it's fast because it's unbothered πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

  • rtcFilterOcclusion
  • rtcSetGeometryIntersectFunction

and that's the whole page, bestie!! this was rtcFilterIntersection(3) from Embree Ray Tracing Kernels 3 β€” go forth, filter those intersections, and slay ✨🫢🌸

πŸ“¦ where this page comes from