本文整理汇总了C++中RTCORE_TRACE函数的典型用法代码示例。如果您正苦于以下问题:C++ RTCORE_TRACE函数的具体用法?C++ RTCORE_TRACE怎么用?C++ RTCORE_TRACE使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了RTCORE_TRACE函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: rtcCommitThread
RTCORE_API void rtcCommitThread(RTCScene hscene, unsigned int threadID, unsigned int numThreads)
{
Scene* scene = (Scene*) hscene;
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcCommitThread);
RTCORE_VERIFY_HANDLE(hscene);
if (unlikely(numThreads == 0))
throw_RTCError(RTC_INVALID_OPERATION,"invalid number of threads specified");
#if defined(__MIC__)
if (unlikely(numThreads % 4 != 0 && numThreads != 1))
throw_RTCError(RTC_INVALID_OPERATION,"MIC requires numThreads % 4 == 0 in rtcCommitThread");
#endif
/* for best performance set FTZ and DAZ flags in the MXCSR control and status register */
#if !defined(__MIC__)
unsigned int mxcsr = _mm_getcsr();
_mm_setcsr(mxcsr | /* FTZ */ (1<<15) | /* DAZ */ (1<<6));
#endif
/* perform scene build */
scene->build(threadID,numThreads);
/* reset MXCSR register again */
#if !defined(__MIC__)
_mm_setcsr(mxcsr);
#endif
RTCORE_CATCH_END(scene->device);
}
示例2: rtcSetErrorFunction
RTCORE_API void rtcSetErrorFunction(RTCErrorFunc func)
{
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcSetErrorFunction);
assert(g_device);
if (g_device) g_device->error_function = func;
RTCORE_CATCH_END(g_device);
}
示例3: rtcSetParameter1i
RTCORE_API void rtcSetParameter1i(const RTCParameter parm, ssize_t val)
{
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcSetParameter1i);
Lock<MutexSys> lock(g_mutex);
if (g_device) g_device->setParameter1i(parm,val);
RTCORE_CATCH_END(g_device);
}
示例4: rtcDeviceSetMemoryMonitorFunction
RTCORE_API void rtcDeviceSetMemoryMonitorFunction(RTCDevice hdevice, RTCMemoryMonitorFunc func)
{
Device* device = (Device*) hdevice;
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcDeviceSetMemoryMonitorFunction);
device->memory_monitor_function = func;
RTCORE_CATCH_END(device);
}
示例5: rtcSetMemoryMonitorFunction
RTCORE_API void rtcSetMemoryMonitorFunction(RTCMemoryMonitorFunc func)
{
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcSetMemoryMonitorFunction);
assert(g_device);
if (g_device) g_device->memory_monitor_function = func;
RTCORE_CATCH_END(g_device);
}
示例6: rtcInit
RTCORE_API void rtcInit(const char* cfg)
{
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcInit);
Lock<MutexSys> lock(g_mutex);
if (g_device) throw_RTCError(RTC_INVALID_OPERATION,"already initialized");
g_device = new Device(cfg,true);
RTCORE_CATCH_END(g_device);
}
示例7: rtcDeleteDevice
RTCORE_API void rtcDeleteDevice(RTCDevice device)
{
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcDeleteDevice);
RTCORE_VERIFY_HANDLE(device);
Lock<MutexSys> lock(g_mutex);
delete (Device*) device;
RTCORE_CATCH_END_NOREPORT;
}
示例8: rtcSetProgressMonitorFunction
RTCORE_API void rtcSetProgressMonitorFunction(RTCScene hscene, RTCProgressMonitorFunc func, void* ptr)
{
Scene* scene = (Scene*) hscene;
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcSetProgressMonitorFunction);
RTCORE_VERIFY_HANDLE(hscene);
scene->setProgressMonitorFunction(func,ptr);
RTCORE_CATCH_END(scene->device);
}
示例9: rtcDeviceSetErrorFunction
RTCORE_API void rtcDeviceSetErrorFunction(RTCDevice hdevice, RTCErrorFunc func)
{
Device* device = (Device*) hdevice;
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcDeviceSetErrorFunction);
RTCORE_VERIFY_HANDLE(hdevice);
device->error_function = func;
RTCORE_CATCH_END(device);
}
示例10: rtcExit
RTCORE_API void rtcExit()
{
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcExit);
Lock<MutexSys> lock(g_mutex);
if (!g_device) throw_RTCError(RTC_INVALID_OPERATION,"rtcInit has to get called before rtcExit");
delete g_device; g_device = nullptr;
RTCORE_CATCH_END(g_device);
}
示例11: ispcSetIntersectFunction16
extern "C" void ispcSetIntersectFunction16 (RTCScene hscene, unsigned geomID, RTCIntersectFunc16 intersect)
{
Scene* scene = (Scene*) hscene;
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcSetIntersectFunction16);
RTCORE_VERIFY_HANDLE(scene);
RTCORE_VERIFY_GEOMID(geomID);
((Scene*)scene)->get_locked(geomID)->setIntersectFunction16(intersect,true);
RTCORE_CATCH_END(scene->device);
}
示例12: ispcSetOccludedFunction8
extern "C" void ispcSetOccludedFunction8 (RTCScene hscene, unsigned geomID, RTCOccludedFunc8 occluded)
{
Scene* scene = (Scene*) hscene;
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcSetOccludedFunction8);
RTCORE_VERIFY_HANDLE(scene);
RTCORE_VERIFY_GEOMID(geomID);
((Scene*)scene)->get_locked(geomID)->setOccludedFunction8(occluded,true);
RTCORE_CATCH_END(scene->device);
}
示例13: rtcDeviceNewScene
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;
}
示例14: rtcNewScene
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;
}
示例15: ispcSetOcclusionFilterFunction16
extern "C" void ispcSetOcclusionFilterFunction16 (RTCScene hscene, unsigned geomID, RTCFilterFunc16 filter)
{
Scene* scene = (Scene*) hscene;
RTCORE_CATCH_BEGIN;
RTCORE_TRACE(rtcSetOcclusionFilterFunction16);
RTCORE_VERIFY_HANDLE(scene);
RTCORE_VERIFY_GEOMID(geomID);
((Scene*)scene)->get_locked(geomID)->setOcclusionFilterFunction16(filter,true);
RTCORE_CATCH_END(scene->device);
}