Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 void Scene::createSubdivAccel()
 {
   if (g_subdiv_accel == "default") 
   {
     if (isIncoherent(flags)) {
       if (isCompact()) accels.add(BVH4::BVH4SubdivGridLazy(this));
       else             accels.add(BVH4::BVH4SubdivGridEager(this));
     }
     else {
       accels.add(BVH4::BVH4SubdivPatch1Cached(this));
     }
   }
   else if (g_subdiv_accel == "bvh4.subdivpatch1"      ) accels.add(BVH4::BVH4SubdivPatch1(this));
   else if (g_subdiv_accel == "bvh4.subdivpatch1cached") accels.add(BVH4::BVH4SubdivPatch1Cached(this));
   else if (g_subdiv_accel == "bvh4.grid.adaptive"     ) accels.add(BVH4::BVH4SubdivGrid(this));
   else if (g_subdiv_accel == "bvh4.grid.eager"        ) accels.add(BVH4::BVH4SubdivGridEager(this));
   else if (g_subdiv_accel == "bvh4.grid.lazy"         ) accels.add(BVH4::BVH4SubdivGridLazy(this));
   else THROW_RUNTIME_ERROR("unknown subdiv accel "+g_subdiv_accel);
 }
extern "C" RTCScene ispcNewScene (RTCSceneFlags flags, RTCAlgorithmFlags aflags)
{
    if (!isCoherent(flags) && !isIncoherent(flags)) flags = RTCSceneFlags(flags | RTC_SCENE_COHERENT);
    return rtcNewScene(flags,aflags);
}
Ejemplo n.º 6
0
 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);
 }