| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- .TH "rtcSetSceneProgressMonitorFunction" "3" "" "" "Embree Ray Tracing Kernels 3"
- .SS NAME
- .IP
- .nf
- \f[C]
- rtcSetSceneProgressMonitorFunction\ \-\ registers\ a\ callback
- \ \ to\ track\ build\ progress
- \f[]
- .fi
- .SS SYNOPSIS
- .IP
- .nf
- \f[C]
- #include\ <embree3/rtcore.h>
- typedef\ bool\ (*RTCProgressMonitorFunction)(
- \ \ void*\ ptr,
- \ \ double\ n
- );
- void\ rtcSetSceneProgressMonitorFunction(
- \ \ RTCScene\ scene,
- \ \ RTCProgressMonitorFunction\ progress,
- \ \ void*\ userPtr
- );
- \f[]
- .fi
- .SS DESCRIPTION
- .PP
- Embree supports a progress monitor callback mechanism that can be used
- to report progress of hierarchy build operations and to cancel build
- operations.
- .PP
- The \f[C]rtcSetSceneProgressMonitorFunction\f[] registers a progress
- monitor callback function (\f[C]progress\f[] argument) with payload
- (\f[C]userPtr\f[] argument) for the specified scene (\f[C]scene\f[]
- argument).
- .PP
- Only a single callback function can be registered per scene, and further
- invocations overwrite the previously set callback function.
- Passing \f[C]NULL\f[] as function pointer disables the registered
- callback function.
- .PP
- Once registered, Embree will invoke the callback function multiple times
- during hierarchy build operations of the scene, by passing the payload
- as set at registration time (\f[C]userPtr\f[] argument), and a double in
- the range [0, 1] which estimates the progress of the operation
- (\f[C]n\f[] argument).
- The callback function might be called from multiple threads
- concurrently.
- .PP
- When returning \f[C]true\f[] from the callback function, Embree will
- continue the build operation normally.
- When returning \f[C]false\f[], Embree will cancel the build operation
- with the \f[C]RTC_ERROR_CANCELLED\f[] error code.
- Issuing multiple cancel requests for the same build operation is
- allowed.
- .SS EXIT STATUS
- .PP
- On failure an error code is set that can be queried using
- \f[C]rtcGetDeviceError\f[].
- .SS SEE ALSO
- .PP
- [rtcNewScene]
|