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