rtcFilterOcclusion(3)

✨ rtcFilterOcclusion(3) β€” Embree Ray Tracing Kernels 3 ✨

okay bestie, pull up a chair because this one's a lil gem in the rtcFilterOcclusion(3) corner of the Embree Ray Tracing Kernels 3 universe πŸ’–


🌸 NAME 🌸

rtcFilterOcclusion β€” the function that invokes the occlusion filter function, no cap 🫢


✨ SYNOPSIS ✨

#include <embree4/rtcore.h>

void rtcFilterOcclusion(
  const struct RTCOccludedFunctionNArguments* args,
  const struct RTCFilterFunctionNArguments* filterArgs
);

like, copy it exactly, bestie, don't freestyle it πŸ’…


πŸ’œ DESCRIPTION πŸ’œ

so basically rtcFilterOcclusion is the lil summoning spell you call inside an RTCOccludedFunctionN callback function πŸ¦‹ and what it does is invoke the occlusion filter registered to the geometry and stored inside the context. iconic behaviour honestly.

to do that, you gotta create an RTCFilterFunctionNArguments structure first (peep rtcSetGeometryIntersectFilterFunction for the lore πŸ“–). and that structure is basically made of:

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

that's the whole squad. no extras.

then β€” and this is the part that matters, fr fr β€” after you invoke rtcFilterOcclusion, only rays that are still valid (aka valid mask set to -1) should signal an occlusion. periodt. πŸ”₯


πŸ’€ EXIT STATUS πŸ’€

ok so for performance reasons this function does not do any error checks 😭 which means it will not set any error flags on failure. it's giving ✨ risk it for the biscuit ✨ β€” so bestie, do your own vibe check before calling it, because this one is not gonna tell you if something went sideways πŸ™ˆ


πŸ‘‘ SEE ALSO πŸ‘‘

  • rtcFilterIntersection
  • rtcSetGeometryOccludedFunction

go read those too, iykyk 🌈


mwah πŸ’‹ that's the whole page β€” brought to you by the Embree Ray Tracing Kernels 3 girlies, rtcFilterOcclusion(3), stanning you from the manual page footer to the very end πŸŽ€πŸ’–βœ¨

πŸ“¦ where this page comes from