.\" Automatically generated by Pandoc 2.9.2.1 .\" .TH "rtcIntersect4/8/16" "3" "" "" "Embree Ray Tracing Kernels 4" .hy .SS NAME .IP .nf \f[C] rtcIntersect4/8/16 - finds the closest hits for a ray packet \f[R] .fi .SS SYNOPSIS .IP .nf \f[C] #include void rtcIntersect4( const int* valid, RTCScene scene, struct RTCRayHit4* rayhit, struct RTCIntersectArguments* args = NULL ); void rtcIntersect8( const int* valid, RTCScene scene, struct RTCRayHit8* rayhit, struct RTCIntersectArguments* args = NULL ); void rtcIntersect16( const int* valid, RTCScene scene, struct RTCRayHit16* rayhit, struct RTCIntersectArguments* args = NULL ); \f[R] .fi .SS DESCRIPTION .PP The \f[C]rtcIntersect4/8/16\f[R] functions finds the closest hits for a ray packet of size 4, 8, or 16 (\f[C]rayhit\f[R] argument) with the scene (\f[C]scene\f[R] argument). The ray/hit input contains a ray packet and hit packet. The passed optional arguments struct (\f[C]args\f[R] argument) are used to pass additional arguments for advanced features. See Section [rtcIntersect1] for more details and a description of how to set up and trace 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]rtcIntersect4\f[R] the ray packet must be aligned to 16 bytes, for \f[C]rtcIntersect8\f[R] the alignment must be 32 bytes, and for \f[C]rtcIntersect16\f[R] the alignment must be 64 bytes. .PP The \f[C]rtcIntersect4\f[R], \f[C]rtcIntersect8\f[R] and \f[C]rtcIntersect16\f[R] functions may change the ray packet size and ray order when calling back into 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 [rtcIntersect1], [rtcOccluded4/8/16], [rtcInitIntersectArguments]