rtcSetGeo...rFunction(3)

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

✨ NAME ✨

rtcSetGeometryOccludedFilterFunction β€” bestie, this one sets the occlusion filter for the geometry πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include <embree3/rtcore.h>

void rtcSetGeometryOccludedFilterFunction(
  RTCGeometry geometry,
  RTCFilterFunctionN filter
);

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so rtcSetGeometryOccludedFilterFunction is the function that registers an occlusion filter callback function (that's the filter argument, bestie) onto the geometry you point at (the geometry argument, yes, the very one). 🫢

Heads up though, because this part matters: you get only a single callback function per geometry, like literally one, no stacking, no collecting them like PokΓ©mon. Further invocations just overwrite whatever callback you set before it. And if you pass NULL as the function pointer? That disables the registered callback function. Gone. Bye. πŸ’€

Now the vibe of it: the registered intersection filter function gets invoked for every hit encountered during rtcOccluded-type ray queries, and it can accept or reject that hit. 🌸 The whole point of this feature is that you can define a silhouette for a primitive and then reject the hits that fall outside that silhouette. Classic example: a tree leaf πŸƒ modeled with an alpha texture, where that texture decides whether hit points lie inside or outside the leaf. it's giving very "is this pixel the leaf or not" energy.

Also, if you want the actual description of the filter callback function itself, go look at rtcSetGeometryIntersectFilterFunction β€” that's where it lives. iykyk.


πŸ’€ EXIT STATUS πŸ’€

If something goes wrong (failure, no cap), an error code gets set, and you can go query it with rtcGetDeviceError. So like, always check, bestie. πŸ™ˆ


πŸ‘‘ SEE ALSO πŸ‘‘

  • rtcSetGeometryIntersectFilterFunction

that's the whole page, and yes, it's from Embree Ray Tracing Kernels 3 β€” the manual page is literally titled rtcSetGeo...rFunction(3), the date on it is baked right into that footer, and it's the same truncated name up top. slay, stay filtered, don't pass NULL unless you mean it πŸ’–βœ¨

πŸ“¦ where this page comes from