Loading...
Searching...
No Matches
PreviewNode.hpp
1#pragma once
2
3#include <Gfx/Graph/OutputNode.hpp>
4#include <Gfx/SharedOutputSettings.hpp>
5
6namespace score::gfx
7{
8
9class SCORE_PLUGIN_GFX_EXPORT PreviewNode : public score::gfx::OutputNode
10{
11public:
12 explicit PreviewNode(
13 Gfx::SharedOutputSettings s, QRhi* rhi, QRhiRenderTarget* tgt, QRhiTexture* tex);
14 virtual ~PreviewNode();
15
16 void startRendering() override;
17 void onRendererChange() override;
18 void render() override;
19 bool canRender() const override;
20 void stopRendering() override;
21
22 void setRenderer(std::shared_ptr<score::gfx::RenderList> r) override;
23 score::gfx::RenderList* renderer() const override;
24
25 void createOutput(score::gfx::OutputConfiguration) override;
26 void destroyOutput() override;
27
28 std::shared_ptr<score::gfx::RenderState> renderState() const override;
30 createRenderer(score::gfx::RenderList& r) const noexcept override;
31 Configuration configuration() const noexcept override;
32
33 QRhiTexture* texture() const noexcept { return m_texture; }
34
35private:
37 QRhi* m_rhi{};
38
39 std::weak_ptr<score::gfx::RenderList> m_renderer{};
40 QRhiRenderTarget* m_renderTarget{};
41 QRhiTexture* m_texture{};
42 std::shared_ptr<score::gfx::RenderState> m_renderState{};
43};
44}
Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)
Definition OutputNode.hpp:31
Definition OutputNode.hpp:18
Definition PreviewNode.hpp:10
List of nodes to be rendered to an output.
Definition RenderList.hpp:19
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:12
Definition SharedOutputSettings.hpp:19
Definition OutputNode.hpp:11
Definition OutputNode.hpp:61