Manpages - rtcGetDeviceProperty.3embree3
Table of Contents
NAME
rtcGetDeviceProperty - queries properties of the device
SYNOPSIS
#include <embree3/rtcore.h> ssize_t rtcGetDeviceProperty( RTCDevice device, enum RTCDeviceProperty prop );
DESCRIPTION
The rtcGetDeviceProperty
function can be used to query properties
(prop
argument) of a device object (device
argument). The returned
property is an integer of type ssize_t
.
Possible properties to query are:
RTC_DEVICE_PROPERTY_VERSION
: Queries the combined version number (MAJOR.MINOR.PATCH) with two decimal digits per component. E.g. for Embree 2.8.3 the integer 208003 is returned.RTC_DEVICE_PROPERTY_VERSION_MAJOR
: Queries the major version number of Embree.RTC_DEVICE_PROPERTY_VERSION_MINOR
: Queries the minor version number of Embree.RTC_DEVICE_PROPERTY_VERSION_PATCH
: Queries the patch version number of Embree.RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED
: Queries whether thertcIntersect4
andrtcOccluded4
functions preserve packet size and ray order when invoking callback functions. This is only the case if Embree is compiled withEMBREE_RAY_PACKETS
andSSE2
(orSSE4.2
) enabled, and if the machine it is running on supportsSSE2
(orSSE4.2
).RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED
: Queries whether thertcIntersect8
andrtcOccluded8
functions preserve packet size and ray order when invoking callback functions. This is only the case if Embree is compiled withEMBREE_RAY_PACKETS
andAVX
(orAVX2
) enabled, and if the machine it is running on supportsAVX
(orAVX2
).RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED
: Queries whether thertcIntersect16
andrtcOccluded16
functions preserve packet size and ray order when invoking callback functions. This is only the case if Embree is compiled withEMBREE_RAY_PACKETS
andAVX512
enabled, and if the machine it is running on supportsAVX512
.RTC_DEVICE_PROPERTY_RAY_STREAM_SUPPORTED
: Queries whetherrtcIntersect1M
,rtcIntersect1Mp
,rtcIntersectNM
,rtcIntersectNp
,rtcOccluded1M
,rtcOccluded1Mp
,rtcOccludedNM
, andrtcOccludedNp
are supported. This is only the case if Embree is compiled withEMBREE_RAY_PACKETS
enabled.RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED
: Queries whether ray masks are supported. This is only the case if Embree is compiled withEMBREE_RAY_MASK
enabled.RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED
: Queries whether back face culling is enabled. This is only the case if Embree is compiled withEMBREE_BACKFACE_CULLING
enabled.RTC_DEVICE_PROPERTY_COMPACT_POLYS_ENABLED
: Queries whether compact polys is enabled. This is only the case if Embree is compiled withEMBREE_COMPACT_POLYS
enabled.RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED
: Queries whether filter functions are supported, which is the case if Embree is compiled withEMBREE_FILTER_FUNCTION
enabled.RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED
: Queries whether invalid rays are ignored, which is the case if Embree is compiled withEMBREE_IGNORE_INVALID_RAYS
enabled.RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED
: Queries whether triangles are supported, which is the case if Embree is compiled withEMBREE_GEOMETRY_TRIANGLE
enabled.RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED
: Queries whether quads are supported, which is the case if Embree is compiled withEMBREE_GEOMETRY_QUAD
enabled.RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED
: Queries whether subdivision meshes are supported, which is the case if Embree is compiled withEMBREE_GEOMETRY_SUBDIVISION
enabled.RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED
: Queries whether curves are supported, which is the case if Embree is compiled withEMBREE_GEOMETRY_CURVE
enabled.RTC_DEVICE_PROPERTY_POINT_GEOMETRY_SUPPORTED
: Queries whether points are supported, which is the case if Embree is compiled withEMBREE_GEOMETRY_POINT
enabled.RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED
: Queries whether user geometries are supported, which is the case if Embree is compiled withEMBREE_GEOMETRY_USER
enabled.RTC_DEVICE_PROPERTY_TASKING_SYSTEM
: Queries the tasking system Embree is compiled with. Possible return values are:- internal tasking system
- Intel Threading Building Blocks (TBB)
- Parallel Patterns Library (PPL)
RTC_DEVICE_PROPERTY_JOIN_COMMIT_SUPPORTED
: Queries whetherrtcJoinCommitScene
is supported. This is not the case when Embree is compiled with PPL or older versions of TBB.RTC_DEVICE_PROPERTY_PARALLEL_COMMIT_SUPPORTED
: Queries whetherrtcCommitScene
can get invoked from multiple TBB worker threads concurrently. This feature is only supported starting with TBB 2019 Update 9.
EXIT STATUS
On success returns the value of the queried property. For properties
returning a boolean value, the return value 0 denotes false
and 1
denotes true
.
On failure zero is returned and an error code is set that can be queried
using rtcGetDeviceError
.