2#include <Gfx/Graph/OutputNode.hpp>
3#include <Gfx/WindowDevice.hpp>
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);
63 std::function<void(
float)> onFps;
65 std::function<void()> onWindowsCreated;
72 std::vector<Gfx::OutputMapping> m_mappings;
73 std::vector<WindowOutput> m_windowOutputs;
75 std::shared_ptr<RenderState> m_renderState;
76 std::weak_ptr<RenderList> m_renderer;
78 std::function<void()> m_vsyncCallback;
Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)
Definition OutputNode.hpp:31
Definition OutputNode.hpp:18
List of nodes to be rendered to an output.
Definition RenderList.hpp:19
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:12
GraphicsApi
Available graphics APIs to use.
Definition RenderState.hpp:20
Definition WindowSettings.hpp:33
Definition MultiWindowNode.hpp:34
Definition MultiWindowNode.hpp:40
Definition MultiWindowNode.hpp:10
Definition OutputNode.hpp:11
Definition OutputNode.hpp:61