1rtcOccluded4/8/16(3)     Embree Ray Tracing Kernels 3     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 <embree3/rtcore.h>
10
11              void rtcOccluded4(
12                const int* valid,
13                RTCScene scene,
14                struct RTCIntersectContext* context,
15                struct RTCRay4* ray
16              );
17
18              void rtcOccluded8(
19                const int* valid,
20                RTCScene scene,
21                struct RTCIntersectContext* context,
22                struct RTCRay8* ray
23              );
24
25              void rtcOccluded16(
26                const int* valid,
27                RTCScene scene,
28                struct RTCIntersectContext* context,
29                struct RTCRay16* ray
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).  See Section [rtcOccluded1] for a descrip‐
36       tion of how to set up and trace occlusion rays.
37
38       A ray valid mask must be provided (valid  argument)  which  stores  one
39       32-bit  integer  (-1  means valid and 0 invalid) per ray in the packet.
40       Only active rays are processed, and hit data of inactive  rays  is  not
41       changed.
42
43       The  implementation of these functions is guaranteed to invoke callback
44       functions always with the same ray packet size and ordering of rays  as
45       specified initially.
46
47       For rtcOccluded4 the ray packet must be aligned to 16 bytes, for rtcOc‐
48       cluded8 the alignment must be  32  bytes,  and  for  rtcOccluded16  the
49       alignment must be 64 bytes.
50
51       Further,  rtcOccluded4  is only available when Embree was compiled with
52       EMBREE_RAY_PACKETS turned on in CMake (which is the default).  Further,
53       the rtcOccluded8 function is works only if Embree was compiled with AVX
54       or AVX2 and the CPU it is running on supports the enabled  ISA.   Simi‐
55       lar,  the rtcOccluded16 function works only if Embree was compiled with
56       AVX512SKX or AVX512KNL and the  CPU  it  is  running  on  supports  the
57       enabled  ISA.  For this reason, use these functions only after checking
58       whether they are available by using an rtcGetDeviceParameter query.
59
60   EXIT STATUS
61       For performance reasons this function does not  do  any  error  checks,
62       thus will not set any error flags on failure.
63
64   SEE ALSO
65       [rtcOccluded4/8/16]
66
67
68
69                                                          rtcOccluded4/8/16(3)
Impressum