1rtcGetDeviceProperty(3)  Embree Ray Tracing Kernels 4  rtcGetDeviceProperty(3)
2
3
4
5   NAME
6              rtcGetDeviceProperty - queries properties of the device
7
8   SYNOPSIS
9              #include <embree4/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_MASK_SUPPORTED: Queries whether ray masks are
55         supported.   This  is  only  the  case if Embree is compiled with EM‐
56         BREE_RAY_MASK enabled.
57
58       • RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED:  Queries  whether  back
59         face culling is enabled.  This is only the case if Embree is compiled
60         with EMBREE_BACKFACE_CULLING enabled.
61
62       • RTC_DEVICE_PROPERTY_BACKFACE_CULLING_CURVES_ENABLED: Queries  whether
63         back  face  culling  for curves is enabled.  This is only the case if
64         Embree is compiled with EMBREE_BACKFACE_CULLING_CURVES enabled.
65
66       • RTC_DEVICE_PROPERTY_BACKFACE_CULLING_SPHERES_ENABLED: Queries whether
67         back  face  culling for spheres is enabled.  This is only the case if
68         Embree is compiled with EMBREE_BACKFACE_CULLING_SPHERES enabled.
69
70       • RTC_DEVICE_PROPERTY_COMPACT_POLYS_ENABLED:  Queries  whether  compact
71         polys  is  enabled.  This is only the case if Embree is compiled with
72         EMBREE_COMPACT_POLYS enabled.
73
74       • RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED: Queries whether filter
75         functions are supported, which is the case if Embree is compiled with
76         EMBREE_FILTER_FUNCTION enabled.
77
78       • RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED: Queries whether  in‐
79         valid  rays are ignored, which is the case if Embree is compiled with
80         EMBREE_IGNORE_INVALID_RAYS enabled.
81
82       • RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED: Queries whether tri‐
83         angles  are  supported,  which is the case if Embree is compiled with
84         EMBREE_GEOMETRY_TRIANGLE enabled.
85
86       • RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED:  Queries  whether  quads
87         are  supported,  which  is  the  case  if Embree is compiled with EM‐
88         BREE_GEOMETRY_QUAD enabled.
89
90       • RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED:  Queries  whether
91         subdivision meshes are supported, which is the case if Embree is com‐
92         piled with EMBREE_GEOMETRY_SUBDIVISION enabled.
93
94       • RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED: Queries whether  curves
95         are  supported,  which  is  the  case  if Embree is compiled with EM‐
96         BREE_GEOMETRY_CURVE enabled.
97
98       • RTC_DEVICE_PROPERTY_POINT_GEOMETRY_SUPPORTED: Queries whether  points
99         are  supported,  which  is  the  case  if Embree is compiled with EM‐
100         BREE_GEOMETRY_POINT enabled.
101
102       • RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED: Queries whether user ge‐
103         ometries  are supported, which is the case if Embree is compiled with
104         EMBREE_GEOMETRY_USER enabled.
105
106       • RTC_DEVICE_PROPERTY_TASKING_SYSTEM: Queries the tasking system Embree
107         is compiled with.  Possible return values are:
108
109         0. internal tasking system
110
111         1. Intel Threading Building Blocks (TBB)
112
113         2. Parallel Patterns Library (PPL)
114
115       • RTC_DEVICE_PROPERTY_JOIN_COMMIT_SUPPORTED:  Queries  whether rtcJoin‐
116         CommitScene is supported.  This is not the case when Embree  is  com‐
117         piled with PPL or older versions of TBB.
118
119       • RTC_DEVICE_PROPERTY_PARALLEL_COMMIT_SUPPORTED:  Queries  whether rtc‐
120         CommitScene can get invoked from multiple TBB worker threads  concur‐
121         rently.  This feature is only supported starting with TBB 2019 Update
122         9.
123
124   EXIT STATUS
125       On success returns the value of the queried property.   For  properties
126       returning  a  boolean value, the return value 0 denotes false and 1 de‐
127       notes true.
128
129       On failure zero is returned and an  error  code  is  set  that  can  be
130       queried using rtcGetDeviceError.
131
132
133
134                                                       rtcGetDeviceProperty(3)
Impressum