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
24         (MAJOR.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
38         order when invoking callback functions.  This is  only  the  case  if
39         Embree  is  compiled  with  EMBREE_RAY_PACKETS  and  SSE2 (or SSE4.2)
40         enabled, and if the machine  it  is  running  on  supports  SSE2  (or
41         SSE4.2).
42
43       · RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED: Queries whether the rtcIn‐
44         tersect8 and rtcOccluded8 functions  preserve  packet  size  and  ray
45         order  when  invoking  callback  functions.  This is only the case if
46         Embree is compiled with EMBREE_RAY_PACKETS and AVX (or AVX2) enabled,
47         and if the machine it is running on supports AVX (or AVX2).
48
49       · RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED:   Queries   whether   the
50         rtcIntersect16 and rtcOccluded16 functions preserve packet  size  and
51         ray order when invoking callback functions.  This is only the case if
52         Embree  is  compiled  with  EMBREE_RAY_PACKETS  and   AVX512SKX   (or
53         AVX512KNL)  enabled,  and  if  the  machine it is running on supports
54         AVX512SKX (or AVX512KNL).
55
56       · RTC_DEVICE_PROPERTY_RAY_STREAM_SUPPORTED: Queries  whether  rtcInter‐
57         sect1M,   rtcIntersect1Mp,   rtcIntersectNM,  rtcIntersectNp,  rtcOc‐
58         cluded1M, rtcOccluded1Mp, rtcOccludedNM, and rtcOccludedNp  are  sup‐
59         ported.    This   is  only  the  case  if  Embree  is  compiled  with
60         EMBREE_RAY_PACKETS enabled.
61
62       · RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED: Queries whether ray masks are
63         supported.   This  is  only  the  case  if  Embree  is  compiled with
64         EMBREE_RAY_MASK enabled.
65
66       · RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED:  Queries  whether  back
67         face culling is enabled.  This is only the case if Embree is compiled
68         with EMBREE_BACKFACE_CULLING enabled.
69
70       · RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED: Queries whether filter
71         functions are supported, which is the case if Embree is compiled with
72         EMBREE_FILTER_FUNCTION enabled.
73
74       · RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED:   Queries    whether
75         invalid  rays  are  ignored,  which is the case if Embree is compiled
76         with EMBREE_IGNORE_INVALID_RAYS enabled.
77
78       · RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED: Queries whether tri‐
79         angles  are  supported,  which is the case if Embree is compiled with
80         EMBREE_GEOMETRY_TRIANGLE enabled.
81
82       · RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED:  Queries  whether  quads
83         are  supported,  which  is  the  case  if  Embree  is  compiled  with
84         EMBREE_GEOMETRY_QUAD enabled.
85
86       · RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED:  Queries  whether
87         subdivision meshes are supported, which is the case if Embree is com‐
88         piled with EMBREE_GEOMETRY_SUBDIVISION enabled.
89
90       · RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED: Queries whether  curves
91         are  supported,  which  is  the  case  if  Embree  is  compiled  with
92         EMBREE_GEOMETRY_CURVE enabled.
93
94       · RTC_DEVICE_PROPERTY_POINT_GEOMETRY_SUPPORTED: Queries whether  points
95         are  supported,  which  is  the  case  if  Embree  is  compiled  with
96         EMBREE_GEOMETRY_POINT enabled.
97
98       · RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED:  Queries  whether   user
99         geometries  are  supported,  which  is the case if Embree is compiled
100         with EMBREE_GEOMETRY_USER enabled.
101
102       · RTC_DEVICE_PROPERTY_TASKING_SYSTEM: Queries the tasking system Embree
103         is compiled with.  Possible return values are:
104
105         0. internal tasking system
106
107         1. Intel Threading Building Blocks (TBB)
108
109         2. Parallel Patterns Library (PPL)
110
111       · RTC_DEVICE_PROPERTY_COMMIT_JOIN_SUPPORTED:  Queries  whether rtcJoin‐
112         CommitScene is supported.  This is not the case when Embree  is  com‐
113         piled with PPL or older versions of TBB.
114
115   EXIT STATUS
116       On  success  returns the value of the queried property.  For properties
117       returning a boolean value, the return  value  0  denotes  false  and  1
118       denotes true.
119
120       On  failure  zero  is  returned  and  an  error code is set that can be
121       queried using rtcGetDeviceError.
122
123
124
125                                                       rtcGetDeviceProperty(3)
Impressum