| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- .TH "rtcIntersect4/8/16" "3" "" "" "Embree Ray Tracing Kernels 3"
- .SS NAME
- .IP
- .nf
- \f[C]
- rtcIntersect4/8/16\ \-\ finds\ the\ closest\ hits\ for\ a\ ray\ packet
- \f[]
- .fi
- .SS SYNOPSIS
- .IP
- .nf
- \f[C]
- #include\ <embree3/rtcore.h>
- void\ rtcIntersect4(
- \ \ const\ int*\ valid,
- \ \ RTCScene\ scene,
- \ \ struct\ RTCIntersectContext*\ context,
- \ \ struct\ RTCRayHit4*\ rayhit
- );
- void\ rtcIntersect8(
- \ \ const\ int*\ valid,
- \ \ RTCScene\ scene,
- \ \ struct\ RTCIntersectContext*\ context,
- \ \ struct\ RTCRayHit8*\ rayhit
- );
- void\ rtcIntersect16(
- \ \ const\ int*\ valid,
- \ \ RTCScene\ scene,
- \ \ struct\ RTCIntersectContext*\ context,
- \ \ struct\ RTCRayHit16*\ rayhit
- );
- \f[]
- .fi
- .SS DESCRIPTION
- .PP
- The \f[C]rtcIntersect4/8/16\f[] functions finds the closest hits for a
- ray packet of size 4, 8, or 16 (\f[C]rayhit\f[] argument) with the scene
- (\f[C]scene\f[] argument).
- The ray/hit input contains a ray packet and hit packet.
- See Section [rtcIntersect1] for a description of how to set up and trace
- rays.
- .PP
- A ray valid mask must be provided (\f[C]valid\f[] argument) which stores
- one 32\-bit integer (\f[C]\-1\f[] means valid and \f[C]0\f[] 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[]
- .fi
- .IP
- .nf
- \f[C]
- \f[]
- .fi
- .PP
- The implementation of these functions is guaranteed to invoke callback
- functions always with the same ray packet size and ordering of rays as
- specified initially.
- .PP
- For \f[C]rtcIntersect4\f[] the ray packet must be aligned to 16 bytes,
- for \f[C]rtcIntersect8\f[] the alignment must be 32 bytes, and for
- \f[C]rtcIntersect16\f[] the alignment must be 64 bytes.
- .PP
- The \f[C]rtcIntersect4\f[], \f[C]rtcIntersect8\f[] and
- \f[C]rtcIntersect16\f[] 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[],
- \f[C]RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED\f[],
- \f[C]RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED\f[] properties through
- the \f[C]rtcGetDeviceProperty\f[] 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
- [rtcOccluded4/8/16]
|