1% rtcInterpolateN(3) | Embree Ray Tracing Kernels 3
2
3#### NAME
4
5    rtcInterpolateN - performs N interpolations of vertex attribute data
6
7#### SYNOPSIS
8
9    #include <embree3/rtcore.h>
10
11    struct RTCInterpolateNArguments
12    {
13      RTCGeometry geometry;
14      const void* valid;
15      const unsigned int* primIDs;
16      const float* u;
17      const float* v;
18      unsigned int N;
19      enum RTCBufferType bufferType;
20      unsigned int bufferSlot;
21      float* P;
22      float* dPdu;
23      float* dPdv;
24      float* ddPdudu;
25      float* ddPdvdv;
26      float* ddPdudv;
27      unsigned int valueCount;
28    };
29
30    void rtcInterpolateN(
31      const struct RTCInterpolateNArguments* args
32    );
33
34#### DESCRIPTION
35
36The `rtcInterpolateN` is similar to `rtcInterpolate`, but performs
37`N` many interpolations at once. It additionally gets an array of
38u/v coordinates and a valid mask (`valid` parameter) that
39specifies which of these coordinates are valid. The valid mask points
40to `N` integers, and a value of -1 denotes valid and 0 invalid. If
41the valid pointer is `NULL` all elements are considers valid. The
42destination arrays are filled in structure of array (SOA) layout. The
43value `N` must be divisible by 4.
44
45To use `rtcInterpolateN` for a geometry, all changes to that
46geometry must be properly committed using `rtcCommitGeometry`.
47
48#### EXIT STATUS
49
50For performance reasons this function does not do any error checks,
51thus will not set any error flags on failure.
52
53#### SEE ALSO
54
55[rtcInterpolate]
56