1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
// Copyright 2009 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <memory>
#include "MultiDeviceFrameBuffer.h"
#include "MultiDeviceObject.h"
#include "render/LoadBalancer.h"
#include "rkcommon/utility/ArrayView.h"
namespace ospray {
struct MultiDeviceLoadBalancer
{
MultiDeviceLoadBalancer(
const std::vector<std::shared_ptr<TiledLoadBalancer>> &loadBalancers);
void renderFrame(api::MultiDeviceFrameBuffer *framebuffer,
api::MultiDeviceObject *renderer,
api::MultiDeviceObject *camera,
api::MultiDeviceObject *world);
std::string toString() const;
private:
// The subdevice load balancers that this multidevice load balancer will
// distribute the rendering workload over
std::vector<std::shared_ptr<TiledLoadBalancer>> loadBalancers;
};
} // namespace ospray
|