| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- .TH "rtcOccluded4/8/16" "3" "" "" "Embree Ray Tracing Kernels 3"
- .SS NAME
- .IP
- .nf
- \f[C]
- rtcOccluded4/8/16\ \-\ finds\ any\ hits\ for\ a\ ray\ packet
- \f[]
- .fi
- .SS SYNOPSIS
- .IP
- .nf
- \f[C]
- #include\ <embree3/rtcore.h>
- void\ rtcOccluded4(
- \ \ const\ int*\ valid,
- \ \ RTCScene\ scene,
- \ \ struct\ RTCIntersectContext*\ context,
- \ \ struct\ RTCRay4*\ ray
- );
- void\ rtcOccluded8(
- \ \ const\ int*\ valid,
- \ \ RTCScene\ scene,
- \ \ struct\ RTCIntersectContext*\ context,
- \ \ struct\ RTCRay8*\ ray
- );
- void\ rtcOccluded16(
- \ \ const\ int*\ valid,
- \ \ RTCScene\ scene,
- \ \ struct\ RTCIntersectContext*\ context,
- \ \ struct\ RTCRay16*\ ray
- );
- \f[]
- .fi
- .SS DESCRIPTION
- .PP
- The \f[C]rtcOccluded4/8/16\f[] functions checks for each active ray of
- the ray packet of size 4, 8, or 16 (\f[C]ray\f[] argument) whether there
- is any hit with the scene (\f[C]scene\f[] argument).
- See Section [rtcOccluded1] for a description of how to set up and trace
- occlusion 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]rtcOccluded4\f[] the ray packet must be aligned to 16 bytes,
- for \f[C]rtcOccluded8\f[] the alignment must be 32 bytes, and for
- \f[C]rtcOccluded16\f[] the alignment must be 64 bytes.
- .PP
- The \f[C]rtcOccluded4\f[], \f[C]rtcOccluded8\f[] and
- \f[C]rtcOccluded16\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]
|