1rtcIntersect4/8/16(3) Embree Ray Tracing Kernels 4 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 <embree4/rtcore.h>
10
11 void rtcIntersect4(
12 const int* valid,
13 RTCScene scene,
14 struct RTCRayHit4* rayhit,
15 struct RTCIntersectArguments* args = NULL
16 );
17
18 void rtcIntersect8(
19 const int* valid,
20 RTCScene scene,
21 struct RTCRayHit8* rayhit,
22 struct RTCIntersectArguments* args = NULL
23 );
24
25 void rtcIntersect16(
26 const int* valid,
27 RTCScene scene,
28 struct RTCRayHit16* rayhit,
29 struct RTCIntersectArguments* args = NULL
30 );
31
32 DESCRIPTION
33 The rtcIntersect4/8/16 functions finds the closest hits for a ray pack‐
34 et of size 4, 8, or 16 (rayhit argument) with the scene (scene argu‐
35 ment). The ray/hit input contains a ray packet and hit packet. The
36 passed optional arguments struct (args argument) are used to pass addi‐
37 tional arguments for advanced features. See Section [rtcIntersect1]
38 for more details and a description of how to set up and trace 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 rtcIntersect4 the ray packet must be aligned to 16 bytes, for
46 rtcIntersect8 the alignment must be 32 bytes, and for rtcIntersect16
47 the alignment must be 64 bytes.
48
49 The rtcIntersect4, rtcIntersect8 and rtcIntersect16 functions may
50 change the ray packet size and ray order when calling back into filter
51 functions or user geometry callbacks. Under some conditions the appli‐
52 cation 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 [rtcIntersect1], [rtcOccluded4/8/16], [rtcInitIntersectArguments]
64
65
66
67 rtcIntersect4/8/16(3)