.\" Automatically generated by Pandoc 2.9.2.1
.\"
.TH "rtcOccluded4/8/16" "3" "" "" "Embree Ray Tracing Kernels 4"
.hy
.SS NAME
.IP
.nf
\f[C]
rtcOccluded4/8/16 - finds any hits for a ray packet
\f[R]
.fi
.SS SYNOPSIS
.IP
.nf
\f[C]
#include <embree4/rtcore.h>

void rtcOccluded4(
  const int* valid,
  RTCScene scene,
  struct RTCRay4* ray,
  struct RTCOccludedArguments* args = NULL
);

void rtcOccluded8(
  const int* valid,
  RTCScene scene,
  struct RTCRay8* ray,
  struct RTCOccludedArguments* args = NULL
);

void rtcOccluded16(
  const int* valid,
  RTCScene scene,
  struct RTCRay16* ray,
  struct RTCOccludedArguments* args = NULL
);
\f[R]
.fi
.SS DESCRIPTION
.PP
The \f[C]rtcOccluded4/8/16\f[R] functions checks for each active ray of
the ray packet of size 4, 8, or 16 (\f[C]ray\f[R] argument) whether
there is any hit with the scene (\f[C]scene\f[R] argument).
The passed optional arguments struct (\f[C]args\f[R] argument) can get
used for advanced use cases, see section [rtcInitOccludedArguments] for
more details.
See Section [rtcOccluded1] for more details and a description of how to
set up and trace occlusion rays.
.PP
A ray valid mask must be provided (\f[C]valid\f[R] argument) which
stores one 32-bit integer (\f[C]-1\f[R] means valid and \f[C]0\f[R]
invalid) per ray in the packet.
Only active rays are processed, and hit data of inactive rays is not
changed.
.IP
.nf
\f[C]
\f[R]
.fi
.PP
For \f[C]rtcOccluded4\f[R] the ray packet must be aligned to 16 bytes,
for \f[C]rtcOccluded8\f[R] the alignment must be 32 bytes, and for
\f[C]rtcOccluded16\f[R] the alignment must be 64 bytes.
.PP
The \f[C]rtcOccluded4\f[R], \f[C]rtcOccluded8\f[R] and
\f[C]rtcOccluded16\f[R] functions may change the ray packet size and ray
order when calling back into intersect filter functions or user geometry
callbacks.
Under some conditions the application can assume packets to stay intakt,
which can determined by querying the
\f[C]RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED\f[R],
\f[C]RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED\f[R],
\f[C]RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED\f[R] properties through
the \f[C]rtcGetDeviceProperty\f[R] function.
See [rtcGetDeviceProperty] for more information.
.SS EXIT STATUS
.PP
For performance reasons this function does not do any error checks, thus
will not set any error flags on failure.
.SS SEE ALSO
.PP
[rtcOccluded1], [rtcIntersect4/8/16], [rtcInitOccludedArguments]
