1RTCRayN(3) Embree Ray Tracing Kernels 3 RTCRayN(3)
2
3
4
5 NAME
6 RTCRayN - ray packet of runtime size
7
8 SYNOPSIS
9 #include <embree3/rtcore_ray.h>
10
11 struct RTCRayN;
12
13 float& RTCRayN_org_x(RTCRayN* ray, unsigned int N, unsigned int i);
14 float& RTCRayN_org_y(RTCRayN* ray, unsigned int N, unsigned int i);
15 float& RTCRayN_org_z(RTCRayN* ray, unsigned int N, unsigned int i);
16 float& RTCRayN_tnear(RTCRayN* ray, unsigned int N, unsigned int i);
17
18 float& RTCRayN_dir_x(RTCRayN* ray, unsigned int N, unsigned int i);
19 float& RTCRayN_dir_y(RTCRayN* ray, unsigned int N, unsigned int i);
20 float& RTCRayN_dir_z(RTCRayN* ray, unsigned int N, unsigned int i);
21 float& RTCRayN_time (RTCRayN* ray, unsigned int N, unsigned int i);
22
23 float& RTCRayN_tfar (RTCRayN* ray, unsigned int N, unsigned int i);
24 unsigned int& RTCRayN_mask (RTCRayN* ray, unsigned int N, unsigned int i);
25 unsigned int& RTCRayN_id (RTCRayN* ray, unsigned int N, unsigned int i);
26 unsigned int& RTCRayN_flags(RTCRayN* ray, unsigned int N, unsigned int i);
27
28 DESCRIPTION
29 When the ray packet size is not known at compile time (e.g. when Em‐
30 bree returns a ray packet in the RTCFilterFuncN callback function), Em‐
31 bree uses the RTCRayN type for ray packets. These ray packets can only
32 have sizes of 1, 4, 8, or 16. No other packet size will be used.
33
34 You can either implement different special code paths for each of these
35 possible packet sizes and cast the ray to the appropriate ray packet
36 type, or implement one general code path that uses the RTCRayN_XXX
37 helper functions to access the ray packet components.
38
39 These helper functions get a pointer to the ray packet (ray argument),
40 the packet size (N argument), and returns a reference to a component
41 (e.g. x-component of origin) of the the i-th ray of the packet (i ar‐
42 gument).
43
44 EXIT STATUS
45 SEE ALSO
46 [RTCHitN]
47
48
49
50 RTCRayN(3)