RTCORE_API RTCScene rtcNewScene (RTCSceneFlags flags, RTCAlgorithmFlags aflags) { CATCH_BEGIN; TRACE(rtcNewScene); if (!isCoherent(flags) && !isIncoherent(flags)) flags = RTCSceneFlags(flags | RTC_SCENE_INCOHERENT); return (RTCScene) new Scene(flags,aflags); CATCH_END; return NULL; }
RTCORE_API RTCScene rtcDeviceNewScene (RTCDevice device, RTCSceneFlags flags, RTCAlgorithmFlags aflags) { RTCORE_CATCH_BEGIN; RTCORE_TRACE(rtcDeviceNewScene); RTCORE_VERIFY_HANDLE(device); if (!isCoherent(flags) && !isIncoherent(flags)) flags = RTCSceneFlags(flags | RTC_SCENE_INCOHERENT); return (RTCScene) new Scene((Device*)device,flags,aflags); RTCORE_CATCH_END((Device*)device); return nullptr; }
RTCORE_API RTCScene rtcNewScene (RTCSceneFlags flags, RTCAlgorithmFlags aflags) { RTCORE_CATCH_BEGIN; RTCORE_TRACE(rtcNewScene); assert(g_device); if (!isCoherent(flags) && !isIncoherent(flags)) flags = RTCSceneFlags(flags | RTC_SCENE_INCOHERENT); return (RTCScene) new Scene(g_device,flags,aflags); RTCORE_CATCH_END(g_device); return nullptr; }
extern "C" RTCScene ispcNewScene (RTCSceneFlags flags, RTCAlgorithmFlags aflags) { if (!isCoherent(flags) && !isIncoherent(flags)) flags = RTCSceneFlags(flags | RTC_SCENE_COHERENT); return rtcNewScene(flags,aflags); }
extern "C" RTCScene ispcNewScene (RTCSceneFlags flags, RTCAlgorithmFlags aflags) { if (!isCoherent(flags) && !isIncoherent(flags)) flags = RTCSceneFlags(flags | RTC_SCENE_COHERENT); throw std::runtime_error("ispcNewScene is no longer working in ospray - do not use any more"); // return rtcNewScene(flags,aflags); }