rtcSetSceneProgressMonitorFunction(3) Embree Ray Tracing Kernels 4 rtcSetSceneProgressMonitorFunction(3)

rtcSetSceneProgressMonitorFunction - registers a callback
  to track build progress

#include <embree4/rtcore.h>
typedef bool (*RTCProgressMonitorFunction)(
  void* ptr,
  double n
);
void rtcSetSceneProgressMonitorFunction(
  RTCScene scene,
  RTCProgressMonitorFunction progress,
  void* userPtr
);

Embree supports a progress monitor callback mechanism that can be used to report progress of hierarchy build operations and to cancel build operations.

The rtcSetSceneProgressMonitorFunction registers a progress monitor callback function (progress argument) with payload (userPtr argument) for the specified scene (scene argument).

Only a single callback function can be registered per scene, and further invocations overwrite the previously set callback function. Passing NULL as function pointer disables the registered callback function.

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 (userPtr argument), and a double in the range [0, 1] which estimates the progress of the operation (n argument). The callback function might be called from multiple threads concurrently.

When returning true from the callback function, Embree will continue the build operation normally. When returning false, Embree will cancel the build operation with the RTC_ERROR_CANCELLED error code. Issuing multiple cancel requests for the same build operation is allowed.

On failure an error code is set that can be queried using rtcGetDeviceError.

[rtcNewScene]