1rtcGetDeviceProperty(3) Embree Ray Tracing Kernels 3 rtcGetDeviceProperty(3)
2
3
4
5 NAME
6 rtcGetDeviceProperty - queries properties of the device
7
8 SYNOPSIS
9 #include <embree3/rtcore.h>
10
11 ssize_t rtcGetDeviceProperty(
12 RTCDevice device,
13 RTCDeviceProperty prop
14 );
15
16 DESCRIPTION
17 The rtcGetDeviceProperty function can be used to query properties (prop
18 argument) of a device object (device argument). The returned property
19 is an integer of type ssize_t.
20
21 Possible properties to query are:
22
23 · RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED: Queries whether the rtcIn‐
24 tersect4 and rtcOccluded4 functions preserve packet size and ray
25 order when invoking callback functions. This is only the case if
26 Embree is compiled with EMBREE_RAY_PACKETS and SSE2 (or SSE4.2)
27 enabled, and if the machine it is running on supports SSE2 (or
28 SSE4.2).
29
30 · RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED: Queries whether the rtcIn‐
31 tersect8 and rtcOccluded8 functions preserve packet size and ray
32 order when invoking callback functions. This is only the case if
33 Embree is compiled with EMBREE_RAY_PACKETS and AVX (or AVX2) enabled,
34 and if the machine it is running on supports AVX (or AVX2).
35
36 · RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED: Queries whether the
37 rtcIntersect16 and rtcOccluded16 functions preserve packet size and
38 ray order when invoking callback functions. This is only the case if
39 Embree is compiled with EMBREE_RAY_PACKETS and AVX512SKX (or
40 AVX512KNL) enabled, and if the machine it is running on supports
41 AVX512SKX (or AVX512KNL).
42
43 · RTC_DEVICE_PROPERTY_RAY_STREAM_SUPPORTED: Queries whether rtcInter‐
44 sect1M, rtcIntersect1Mp, rtcIntersectNM, rtcIntersectNp, rtcOc‐
45 cluded1M, rtcOccluded1Mp, rtcOccludedNM, and rtcOccludedNp are sup‐
46 ported. This is only the case if Embree is compiled with
47 EMBREE_RAY_PACKETS enabled.
48
49 · RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED: Queries whether ray masks are
50 supported. This is only the case if Embree is compiled with
51 EMBREE_RAY_MASK enabled.
52
53 · RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED: Queries whether back
54 face culling is enabled. This is only the case if Embree is compiled
55 with EMBREE_BACKFACE_CULLING enabled.
56
57 · RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED: Queries whether filter
58 functions are supported, which is the case if Embree is compiled with
59 EMBREE_FILTER_FUNCTION enabled.
60
61 · RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED: Queries whether
62 invalid rays are ignored, which is the case if Embree is compiled
63 with EMBREE_IGNORE_INVALID_RAYS enabled.
64
65 · RTC_DEVICE_PROPERTY_TASKING_SYSTEM: Queries the tasking system Embree
66 is compiled with. Possible return values are:
67
68 0. internal tasking system
69
70 1. Intel Threading Building Blocks (TBB)
71
72 2. Parallel Patterns Library (PPL)
73
74 · RTC_DEVICE_PROPERTY_VERSION_MAJOR: Queries the major version number
75 of Embree.
76
77 · RTC_DEVICE_PROPERTY_VERSION_MINOR: Queries the minor version number
78 of Embree.
79
80 · RTC_DEVICE_PROPERTY_VERSION_PATCH: Queries the patch version number
81 of Embree.
82
83 · RTC_DEVICE_PROPERTY_VERSION: Queries the combined version number
84 (MAJOR.MINOR.PATCH) with two decimal digits per component. E.g. for
85 Embree 2.8.3 the integer 208003 is returned.
86
87 · RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED: Queries whether tri‐
88 angles are supported, which is the case if Embree is compiled with
89 EMBREE_GEOMETRY_TRIANGLE enabled.
90
91 · RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED: Queries whether quads
92 are supported, which is the case if Embree is compiled with
93 EMBREE_GEOMETRY_QUAD enabled.
94
95 · RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED: Queries whether curves
96 are supported, which is the case if Embree is compiled with
97 EMBREE_GEOMETRY_CURVE enabled.
98
99 · RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED: Queries whether
100 subdivision meshes are supported, which is the case if Embree is com‐
101 piled with EMBREE_GEOMETRY_SUBDIVISION enabled.
102
103 · RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED: Queries whether user
104 geometries are supported, which is the case if Embree is compiled
105 with EMBREE_GEOMETRY_USER enabled.
106
107 · RTC_DEVICE_PROPERTY_COMMIT_JOIN_SUPPORTED: Queries whether rtcJoin‐
108 CommitScene is supported. This is not the case when Embree is com‐
109 piled with PPL or older versions of TBB.
110
111 EXIT STATUS
112 On success returns the value of the queried property. For properties
113 returning a boolean value, the return value 0 denotes false and 1
114 denotes true.
115
116 On failure zero is returned and an error code is set that can be
117 queried using rtcDeviceGetError.
118
119 SEE ALSO
120 [rtcSetDeviceProperty]
121
122
123
124 rtcGetDeviceProperty(3)