| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- .TH "rtcGetDeviceProperty" "3" "" "" "Embree Ray Tracing Kernels 3"
- .SS NAME
- .IP
- .nf
- \f[C]
- rtcGetDeviceProperty\ \-\ queries\ properties\ of\ the\ device
- \f[]
- .fi
- .SS SYNOPSIS
- .IP
- .nf
- \f[C]
- #include\ <embree3/rtcore.h>
- ssize_t\ rtcGetDeviceProperty(
- \ \ RTCDevice\ device,
- \ \ enum\ RTCDeviceProperty\ prop
- );
- \f[]
- .fi
- .SS DESCRIPTION
- .PP
- The \f[C]rtcGetDeviceProperty\f[] function can be used to query
- properties (\f[C]prop\f[] argument) of a device object (\f[C]device\f[]
- argument).
- The returned property is an integer of type \f[C]ssize_t\f[].
- .PP
- Possible properties to query are:
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_VERSION\f[]: 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.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_VERSION_MAJOR\f[]: Queries the major version
- number of Embree.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_VERSION_MINOR\f[]: Queries the minor version
- number of Embree.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_VERSION_PATCH\f[]: Queries the patch version
- number of Embree.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_NATIVE_RAY4_SUPPORTED\f[]: Queries whether the
- \f[C]rtcIntersect4\f[] and \f[C]rtcOccluded4\f[] functions preserve
- packet size and ray order when invoking callback functions.
- This is only the case if Embree is compiled with
- \f[C]EMBREE_RAY_PACKETS\f[] and \f[C]SSE2\f[] (or \f[C]SSE4.2\f[])
- enabled, and if the machine it is running on supports \f[C]SSE2\f[] (or
- \f[C]SSE4.2\f[]).
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_NATIVE_RAY8_SUPPORTED\f[]: Queries whether the
- \f[C]rtcIntersect8\f[] and \f[C]rtcOccluded8\f[] functions preserve
- packet size and ray order when invoking callback functions.
- This is only the case if Embree is compiled with
- \f[C]EMBREE_RAY_PACKETS\f[] and \f[C]AVX\f[] (or \f[C]AVX2\f[]) enabled,
- and if the machine it is running on supports \f[C]AVX\f[] (or
- \f[C]AVX2\f[]).
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_NATIVE_RAY16_SUPPORTED\f[]: Queries whether the
- \f[C]rtcIntersect16\f[] and \f[C]rtcOccluded16\f[] functions preserve
- packet size and ray order when invoking callback functions.
- This is only the case if Embree is compiled with
- \f[C]EMBREE_RAY_PACKETS\f[] and \f[C]AVX512SKX\f[] (or
- \f[C]AVX512KNL\f[]) enabled, and if the machine it is running on
- supports \f[C]AVX512SKX\f[] (or \f[C]AVX512KNL\f[]).
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_RAY_STREAM_SUPPORTED\f[]: Queries whether
- \f[C]rtcIntersect1M\f[], \f[C]rtcIntersect1Mp\f[],
- \f[C]rtcIntersectNM\f[], \f[C]rtcIntersectNp\f[],
- \f[C]rtcOccluded1M\f[], \f[C]rtcOccluded1Mp\f[], \f[C]rtcOccludedNM\f[],
- and \f[C]rtcOccludedNp\f[] are supported.
- This is only the case if Embree is compiled with
- \f[C]EMBREE_RAY_PACKETS\f[] enabled.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_RAY_MASK_SUPPORTED\f[]: Queries whether ray
- masks are supported.
- This is only the case if Embree is compiled with
- \f[C]EMBREE_RAY_MASK\f[] enabled.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED\f[]: Queries whether
- back face culling is enabled.
- This is only the case if Embree is compiled with
- \f[C]EMBREE_BACKFACE_CULLING\f[] enabled.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_FILTER_FUNCTION_SUPPORTED\f[]: Queries whether
- filter functions are supported, which is the case if Embree is compiled
- with \f[C]EMBREE_FILTER_FUNCTION\f[] enabled.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_IGNORE_INVALID_RAYS_ENABLED\f[]: Queries
- whether invalid rays are ignored, which is the case if Embree is
- compiled with \f[C]EMBREE_IGNORE_INVALID_RAYS\f[] enabled.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_TRIANGLE_GEOMETRY_SUPPORTED\f[]: Queries
- whether triangles are supported, which is the case if Embree is compiled
- with \f[C]EMBREE_GEOMETRY_TRIANGLE\f[] enabled.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_QUAD_GEOMETRY_SUPPORTED\f[]: Queries whether
- quads are supported, which is the case if Embree is compiled with
- \f[C]EMBREE_GEOMETRY_QUAD\f[] enabled.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_SUBDIVISION_GEOMETRY_SUPPORTED\f[]: Queries
- whether subdivision meshes are supported, which is the case if Embree is
- compiled with \f[C]EMBREE_GEOMETRY_SUBDIVISION\f[] enabled.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_CURVE_GEOMETRY_SUPPORTED\f[]: Queries whether
- curves are supported, which is the case if Embree is compiled with
- \f[C]EMBREE_GEOMETRY_CURVE\f[] enabled.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_POINT_GEOMETRY_SUPPORTED\f[]: Queries whether
- points are supported, which is the case if Embree is compiled with
- \f[C]EMBREE_GEOMETRY_POINT\f[] enabled.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_USER_GEOMETRY_SUPPORTED\f[]: Queries whether
- user geometries are supported, which is the case if Embree is compiled
- with \f[C]EMBREE_GEOMETRY_USER\f[] enabled.
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_TASKING_SYSTEM\f[]: Queries the tasking system
- Embree is compiled with.
- Possible return values are:
- .RS 2
- .IP "0." 3
- internal tasking system
- .IP "1." 3
- Intel Threading Building Blocks (TBB)
- .IP "2." 3
- Parallel Patterns Library (PPL)
- .RE
- .IP \[bu] 2
- \f[C]RTC_DEVICE_PROPERTY_COMMIT_JOIN_SUPPORTED\f[]: Queries whether
- \f[C]rtcJoinCommitScene\f[] is supported.
- This is not the case when Embree is compiled with PPL or older versions
- of TBB.
- .SS EXIT STATUS
- .PP
- On success returns the value of the queried property.
- For properties returning a boolean value, the return value 0 denotes
- \f[C]false\f[] and 1 denotes \f[C]true\f[].
- .PP
- On failure zero is returned and an error code is set that can be queried
- using \f[C]rtcGetDeviceError\f[].
|