1rtcOccluded4/8/16(3) Embree Ray Tracing Kernels 4 rtcOccluded4/8/16(3)
2
3
4
5 NAME
6 rtcOccluded4/8/16 - finds any hits for a ray packet
7
8 SYNOPSIS
9 #include <embree4/rtcore.h>
10
11 void rtcOccluded4(
12 const int* valid,
13 RTCScene scene,
14 struct RTCRay4* ray,
15 struct RTCOccludedArguments* args = NULL
16 );
17
18 void rtcOccluded8(
19 const int* valid,
20 RTCScene scene,
21 struct RTCRay8* ray,
22 struct RTCOccludedArguments* args = NULL
23 );
24
25 void rtcOccluded16(
26 const int* valid,
27 RTCScene scene,
28 struct RTCRay16* ray,
29 struct RTCOccludedArguments* args = NULL
30 );
31
32 DESCRIPTION
33 The rtcOccluded4/8/16 functions checks for each active ray of the ray
34 packet of size 4, 8, or 16 (ray argument) whether there is any hit with
35 the scene (scene argument). The passed optional arguments struct (args
36 argument) can get used for advanced use cases, see section [rtcInitOc‐
37 cludedArguments] for more details. See Section [rtcOccluded1] for more
38 details and a description of how to set up and trace occlusion rays.
39
40 A ray valid mask must be provided (valid argument) which stores one
41 32-bit integer (-1 means valid and 0 invalid) per ray in the packet.
42 Only active rays are processed, and hit data of inactive rays is not
43 changed.
44
45 For rtcOccluded4 the ray packet must be aligned to 16 bytes, for rtcOc‐
46 cluded8 the alignment must be 32 bytes, and for rtcOccluded16 the
47 alignment must be 64 bytes.
48
49 The rtcOccluded4, rtcOccluded8 and rtcOccluded16 functions may change
50 the ray packet size and ray order when calling back into intersect fil‐
51 ter functions or user geometry callbacks. Under some conditions the
52 application can assume packets to stay intakt, which can determined by
53 querying the RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED, RTC_DE‐
54 VICE_PROPERTY_NATIVE_RAY8_SUPPORTED, RTC_DEVICE_PROPERTY_NA‐
55 TIVE_RAY16_SUPPORTED properties through the rtcGetDeviceProperty func‐
56 tion. See [rtcGetDeviceProperty] for more information.
57
58 EXIT STATUS
59 For performance reasons this function does not do any error checks,
60 thus will not set any error flags on failure.
61
62 SEE ALSO
63 [rtcOccluded1], [rtcIntersect4/8/16], [rtcInitOccludedArguments]
64
65
66
67 rtcOccluded4/8/16(3)