| 70 | } |
| 71 | |
| 72 | devicert::AsyncEvent DebugRenderer::renderTasks(FrameBuffer *fb, |
| 73 | Camera *camera, |
| 74 | World *world, |
| 75 | void *, |
| 76 | const utility::ArrayView<uint32_t> &taskIDs) const |
| 77 | { |
| 78 | // Gather feature flags from all components |
| 79 | FeatureFlags ff = world->getFeatureFlags(); |
| 80 | ff |= featureFlags; |
| 81 | ff |= fb->getFeatureFlags(); |
| 82 | ff |= camera->getFeatureFlags(); |
| 83 | |
| 84 | // Prepare parameters for kernel launch |
| 85 | auto *rendererSh = &getSh()->super; |
| 86 | auto *fbSh = fb->getSh(); |
| 87 | auto *cameraSh = camera->getSh(); |
| 88 | auto *worldSh = world->getSh(); |
| 89 | const size_t numTasks = taskIDs.size(); |
| 90 | const vec2i taskSize = fb->getRenderTaskSize(); |
| 91 | const vec3ui itemDims = vec3ui(taskSize.x, taskSize.y, numTasks); |
| 92 | |
| 93 | // Launch rendering kernel on the device |
| 94 | return drtDevice.launchRendererKernel(itemDims, |
| 95 | ispc::DebugRenderer_renderTaskLauncher, |
| 96 | rendererSh, |
| 97 | fbSh, |
| 98 | cameraSh, |
| 99 | worldSh, |
| 100 | taskIDs.data(), |
| 101 | ff); |
| 102 | } |
| 103 | |
| 104 | } // namespace ospray |
nothing calls this directly
no test coverage detected