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                enum 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_VERSION: Queries the combined version number (MA‐
24         JOR.MINOR.PATCH) with two decimal digits per  component.   E.g.   for
25         Embree 2.8.3 the integer 208003 is returned.
26
27       • RTC_DEVICE_PROPERTY_VERSION_MAJOR:  Queries  the major version number
28         of Embree.
29
30       • RTC_DEVICE_PROPERTY_VERSION_MINOR: Queries the minor  version  number
31         of Embree.
32
33       • RTC_DEVICE_PROPERTY_VERSION_PATCH:  Queries  the patch version number
34         of Embree.
35
36       • RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED: Queries whether the rtcIn‐
37         tersect4  and rtcOccluded4 functions preserve packet size and ray or‐
38         der when invoking callback functions.  This is only the case  if  Em‐
39         bree  is  compiled  with  EMBREE_RAY_PACKETS and SSE2 (or SSE4.2) en‐
40         abled, and if the machine it is running on supports SSE2 (or SSE4.2).
41
42       • RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED: Queries whether the rtcIn‐
43         tersect8  and rtcOccluded8 functions preserve packet size and ray or‐
44         der when invoking callback functions.  This is only the case  if  Em‐
45         bree  is  compiled with EMBREE_RAY_PACKETS and AVX (or AVX2) enabled,
46         and if the machine it is running on supports AVX (or AVX2).
47
48       • RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED:   Queries   whether   the
49         rtcIntersect16  and  rtcOccluded16 functions preserve packet size and
50         ray order when invoking callback functions.  This is only the case if
51         Embree is compiled with EMBREE_RAY_PACKETS and AVX512 enabled, and if
52         the machine it is running on supports AVX512.
53
54       • RTC_DEVICE_PROPERTY_RAY_STREAM_SUPPORTED: Queries  whether  rtcInter‐
55         sect1M,  rtcIntersect1Mp,  rtcIntersectNM, rtcIntersectNp, rtcOcclud‐
56         ed1M, rtcOccluded1Mp, rtcOccludedNM, and rtcOccludedNp are supported.
57         This  is  only the case if Embree is compiled with EMBREE_RAY_PACKETS
58         enabled.
59
60       • RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED: Queries whether ray masks are
61         supported.   This  is  only  the  case if Embree is compiled with EM‐
62         BREE_RAY_MASK enabled.
63
64       • RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED:  Queries  whether  back
65         face culling is enabled.  This is only the case if Embree is compiled
66         with EMBREE_BACKFACE_CULLING enabled.
67
68       • RTC_DEVICE_PROPERTY_COMPACT_POLYS_ENABLED:  Queries  whether  compact
69         polys  is  enabled.  This is only the case if Embree is compiled with
70         EMBREE_COMPACT_POLYS enabled.
71
72       • RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED: Queries whether filter
73         functions are supported, which is the case if Embree is compiled with
74         EMBREE_FILTER_FUNCTION enabled.
75
76       • RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED: Queries whether  in‐
77         valid  rays are ignored, which is the case if Embree is compiled with
78         EMBREE_IGNORE_INVALID_RAYS enabled.
79
80       • RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED: Queries whether tri‐
81         angles  are  supported,  which is the case if Embree is compiled with
82         EMBREE_GEOMETRY_TRIANGLE enabled.
83
84       • RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED:  Queries  whether  quads
85         are  supported,  which  is  the  case  if Embree is compiled with EM‐
86         BREE_GEOMETRY_QUAD enabled.
87
88       • RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED:  Queries  whether
89         subdivision meshes are supported, which is the case if Embree is com‐
90         piled with EMBREE_GEOMETRY_SUBDIVISION enabled.
91
92       • RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED: Queries whether  curves
93         are  supported,  which  is  the  case  if Embree is compiled with EM‐
94         BREE_GEOMETRY_CURVE enabled.
95
96       • RTC_DEVICE_PROPERTY_POINT_GEOMETRY_SUPPORTED: Queries whether  points
97         are  supported,  which  is  the  case  if Embree is compiled with EM‐
98         BREE_GEOMETRY_POINT enabled.
99
100       • RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED: Queries whether user ge‐
101         ometries  are supported, which is the case if Embree is compiled with
102         EMBREE_GEOMETRY_USER enabled.
103
104       • RTC_DEVICE_PROPERTY_TASKING_SYSTEM: Queries the tasking system Embree
105         is compiled with.  Possible return values are:
106
107         0. internal tasking system
108
109         1. Intel Threading Building Blocks (TBB)
110
111         2. Parallel Patterns Library (PPL)
112
113       • RTC_DEVICE_PROPERTY_JOIN_COMMIT_SUPPORTED:  Queries  whether rtcJoin‐
114         CommitScene is supported.  This is not the case when Embree  is  com‐
115         piled with PPL or older versions of TBB.
116
117       • RTC_DEVICE_PROPERTY_PARALLEL_COMMIT_SUPPORTED:  Queries  whether rtc‐
118         CommitScene can get invoked from multiple TBB worker threads  concur‐
119         rently.  This feature is only supported starting with TBB 2019 Update
120         9.
121
122   EXIT STATUS
123       On success returns the value of the queried property.   For  properties
124       returning  a  boolean value, the return value 0 denotes false and 1 de‐
125       notes true.
126
127       On failure zero is returned and an  error  code  is  set  that  can  be
128       queried using rtcGetDeviceError.
129
130
131
132                                                       rtcGetDeviceProperty(3)
Impressum