1rtcCollide(3) Embree Ray Tracing Kernels 3 rtcCollide(3)
2
3
4
5 NAME
6 rtcCollide - intersects one BVH with another
7
8 SYNOPSIS
9 #include <embree3/rtcore.h>
10
11 struct RTCCollision {
12 unsigned int geomID0, primID0;
13 unsigned int geomID1, primID1;
14 };
15
16 typedef void (*RTCCollideFunc) (
17 void* userPtr,
18 RTCCollision* collisions,
19 size_t num_collisions);
20
21 void rtcCollide (
22 RTCScene hscene0,
23 RTCScene hscene1,
24 RTCCollideFunc callback,
25 void* userPtr
26 );
27
28 DESCRIPTION
29 The rtcCollide function intersects the BVH of hscene0 with the BVH of
30 scene hscene1 and calls a user defined callback function (e.g callback
31 argument) for each pair of intersecting primitives between the two
32 scenes. A user defined data pointer (userPtr argument) can also be
33 passed in.
34
35 For every pair of primitives that may intersect each other, the call‐
36 back function (callback argument) is called. The user will be provided
37 with the primID’s and geomID’s of multiple potentially intersecting
38 primitive pairs. Currently, only scene entirely composed of user ge‐
39 ometries are supported, thus the user is expected to implement a primi‐
40 tive/primitive intersection to filter out false positives in the call‐
41 back function. The userPtr argument can be used to input geometry data
42 of the scene or output results of the intersection query.
43
44 SUPPORTED PRIMITIVES
45 Currently, the only supported type is the user geometry type (see
46 [RTC_GEOMETRY_TYPE_USER]).
47
48 EXIT STATUS
49 On failure an error code is set that can be queried using rtcGetDe‐
50 viceError.
51
52 SEE ALSO
53 rtcCollide(3)