MCPcopy Create free account
hub / github.com/ValveSoftware/steam-audio / CScene

Method CScene

core/src/core/api_scene.cpp:44–60  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42// --------------------------------------------------------------------------------------------------------------------
43
44CScene::CScene(CContext* context,
45 IPLSceneSettings* settings)
46{
47 auto _context = context->mHandle.get();
48 if (!_context)
49 throw Exception(Status::Failure);
50
51 SceneType _sceneType = static_cast<SceneType>(settings->type);
52 auto _closestHitCallback = reinterpret_cast<ClosestHitCallback>(settings->closestHitCallback);
53 auto _anyHitCallback = reinterpret_cast<AnyHitCallback>(settings->anyHitCallback);
54 auto _batchedClosestHitCallback = reinterpret_cast<BatchedClosestHitCallback>(settings->batchedClosestHitCallback);
55 auto _batchedAnyHitCallback = reinterpret_cast<BatchedAnyHitCallback>(settings->batchedAnyHitCallback);
56 auto _embree = (settings->type == IPL_SCENETYPE_EMBREE && settings->embreeDevice) ? reinterpret_cast<CEmbreeDevice*>(settings->embreeDevice)->mHandle.get() : nullptr;
57 auto _radeonRays = (settings->type == IPL_SCENETYPE_RADEONRAYS && settings->radeonRaysDevice) ? reinterpret_cast<CRadeonRaysDevice*>(settings->radeonRaysDevice)->mHandle.get() : nullptr;
58
59 new (&mHandle) Handle<ipl::IScene>(shared_ptr<ipl::IScene>(SceneFactory::create(_sceneType, _closestHitCallback, _anyHitCallback, _batchedClosestHitCallback, _batchedAnyHitCallback, settings->userData, _embree, _radeonRays)), _context);
60}
61
62CScene::CScene(CContext* context,
63 IPLSceneSettings* settings,

Callers

nothing calls this directly

Calls 3

ExceptionClass · 0.85
createFunction · 0.50
getMethod · 0.45

Tested by

no test coverage detected