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)
Impressum