12 Configuration conf,
const std::vector<Gfx::OutputMapping>& mappings);
15 void startRendering()
override;
16 void render()
override;
17 void onRendererChange()
override;
18 bool canRender()
const override;
19 void stopRendering()
override;
21 void setRenderer(std::shared_ptr<RenderList> r)
override;
25 void destroyOutput()
override;
27 void setVSyncCallback(std::function<
void()>)
override;
29 std::shared_ptr<RenderState> renderState()
const override;
41 std::shared_ptr<Window> window;
42 QRhiSwapChain* swapChain{};
43 QRhiRenderBuffer* depthStencil{};
44 QRhiRenderPassDescriptor* renderPassDescriptor{};
45 QRectF sourceRect{0, 0, 1, 1};
53 const std::vector<WindowOutput>& windowOutputs() const noexcept
55 return m_windowOutputs;
58 void setRenderSize(QSize sz);
59 void setSourceRect(
int windowIndex, QRectF rect);
60 void setEdgeBlend(
int windowIndex,
int side,
float width,
float gamma);
62 void setSwapchainFlag(Gfx::SwapchainFlag flag);
63 void setSwapchainFormat(Gfx::SwapchainFormat format);
65 std::function<void(
float)> onFps;
67 std::function<void()> onWindowsCreated;
74 std::vector<Gfx::OutputMapping> m_mappings;
75 std::vector<WindowOutput> m_windowOutputs;
77 std::shared_ptr<RenderState> m_renderState;
78 std::weak_ptr<RenderList> m_renderer;
80 Gfx::SwapchainFlag m_swapchainFlag{};
81 Gfx::SwapchainFormat m_swapchainFormat{};
82 std::function<void()> m_vsyncCallback;
Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)
Definition OutputNode.hpp:31