2#include <Gfx/Graph/OutputNode.hpp>
3#include <Gfx/Graph/encoders/GPUVideoEncoder.hpp>
4#include <Gfx/InvertYRenderer.hpp>
5#include <Gfx/Libav/LibavOutputSettings.hpp>
22 std::weak_ptr<score::gfx::RenderList> m_renderer{};
23 QRhiTexture* m_texture{};
24 QRhiRenderBuffer* m_depthStencil{};
25 QRhiTextureRenderTarget* m_renderTarget{};
26 std::shared_ptr<score::gfx::RenderState> m_renderState{};
29 std::unique_ptr<score::gfx::GPUVideoEncoder> m_encoder[2];
33 QRhiReadbackResult m_readback[2];
34 QRhiReadbackResult* m_currentReadback{&m_readback[0]};
40 std::vector<uint16_t> m_rgba64;
42 void startRendering()
override;
43 void onRendererChange()
override;
44 void render()
override;
45 bool canRender()
const override;
46 void stopRendering()
override;
48 void setRenderer(std::shared_ptr<score::gfx::RenderList> r)
override;
52 void destroyOutput()
override;
54 std::shared_ptr<score::gfx::RenderState> renderState()
const override;
Definition InvertYRenderer.hpp:10
Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)
Definition OutputNode.hpp:54
Definition OutputNode.hpp:36
List of nodes to be rendered to an output.
Definition RenderList.hpp:30
Binds the rendering pipeline to ossia processes.
Definition AssetTable.cpp:7
Definition LibavEncoder.hpp:24
Definition LibavEncoderNode.hpp:14
score::gfx::OutputNodeRenderer * createRenderer(score::gfx::RenderList &r) const noexcept override
Create a renderer in a given context for this node.
Definition LibavEncoderNode.cpp:319
Definition LibavOutputSettings.hpp:16
Definition OutputNode.hpp:15
Definition OutputNode.hpp:84