1% RTCRayHitN(3) | Embree Ray Tracing Kernels 3
2
3#### NAME
4
5    RTCRayHitN - combined ray/hit packet of runtime size
6
7#### SYNOPSIS
8
9    #include <embree3/rtcore_ray.h>
10
11    struct RTCRayHitN;
12
13    struct RTCRayN* RTCRayHitN_RayN(struct RTCRayHitN* rayhit, unsigned int N);
14    struct RTCHitN* RTCRayHitN_HitN(struct RTCRayHitN* rayhit, unsigned int N);
15
16#### DESCRIPTION
17
18When the packet size of a ray/hit structure is not known at compile
19time (e.g. when Embree returns a ray/hit packet in the
20`RTCIntersectFunctionN` callback function), Embree uses the
21`RTCRayHitN` type for ray packets. These ray/hit packets can only have
22sizes of 1, 4, 8, or 16. No other packet size will be used.
23
24You can either implement different special code paths for each of
25these possible packet sizes and cast the ray/hit to the appropriate
26ray/hit packet type, or extract the `RTCRayN` and `RTCHitN` components
27using the `rtcGetRayN` and `rtcGetHitN` helper functions and use the
28`RTCRayN_XXX` and `RTCHitN_XXX` functions to access the ray and hit
29parts of the structure.
30
31#### EXIT STATUS
32
33#### SEE ALSO
34
35[RTCHitN]
36