rtcOccluded1M(3)

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

✨ rtcOccluded1M ✨

okay bestie, welcome to the rtcOccluded1M(3) page, fresh out of the Embree Ray Tracing Kernels 3 manual πŸ’… this one is literally the "does anything even hit this??" girlie for a whole stream of rays and she does not waste a single second on it.


🌸 NAME 🌸

rtcOccluded1M β€” finds any hits for a stream of M single rays πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

#include <embree3/rtcore.h>

void rtcOccluded1M(
  RTCScene scene,
  struct RTCIntersectContext* context,
  struct RTCRay* ray,
  unsigned int M,
  size_t byteStride
);

πŸ’– DESCRIPTION πŸ’–

So the rtcOccluded1M function checks whether there are any hits for a stream of M single rays (that's the ray argument, bestie) against the scene (the scene argument). The ray argument points to an array of rays and there's a specified byte stride between them β€” that's the byteStride argument, she's the one keeping everybody in their lane πŸ’«

For the whole "how do I even set up and trace occlusion rays" situation, go read Section [rtcOccluded1] β€” she explains it way better than I could.

A ray in a ray stream is considered inactive if its tnear value is larger than its tfar value. that's it, that's the vibe check, inactive ray, no notes πŸ™ˆ

The stream size M can be an arbitrary positive integer including 0. yes, zero, she contains multitudes ✨

⚠️ not me being the messenger here: each ray must be aligned to 16 bytes. fr fr, do not skip this one, it's not a suggestion 😭

πŸ’€ EXIT STATUS πŸ’€

For performance reasons this function does not do any error checks, so it will not set any error flags on failure. she's fast and she's not sorry, that's the tradeoff, iykyk πŸ”₯


πŸ‘‘ SEE ALSO πŸ‘‘

  • [rtcIntersect1M]

that's the whole page, bestie, go trace something gorgeous πŸ’– anyway, this was the rtcOccluded1M(3) page from the Embree Ray Tracing Kernels 3 manual β€” mwah, xoxo, slay, periodt πŸŽ€πŸ’…πŸ¦‹

πŸ“¦ where this page comes from