2#include <Gfx/Graph/Node.hpp>
3#include <Gfx/Graph/NodeRenderer.hpp>
4#include <Gfx/Graph/RenderState.hpp>
5#include <Gfx/Graph/Uniforms.hpp>
7#include <score_plugin_gfx_export.h>
13 using score::gfx::NodeRenderer::NodeRenderer;
16 finishFrame(
RenderList&, QRhiCommandBuffer& commands, QRhiResourceUpdateBatch*& res);
28 virtual void setRenderer(std::shared_ptr<RenderList>) = 0;
33 virtual void startRendering() = 0;
34 virtual void render() = 0;
35 virtual void stopRendering() = 0;
36 virtual bool canRender()
const = 0;
37 virtual void onRendererChange() = 0;
39 virtual void createOutput(
40 GraphicsApi graphicsApi, std::function<
void()> onReady,
41 std::function<
void()> onUpdate, std::function<
void()> onResize)
45 virtual void destroyOutput() = 0;
46 virtual std::shared_ptr<RenderState> renderState()
const = 0;
52 std::optional<double> manualRenderingRate;
53 bool outputNeedsRenderPass{};
Root data model for visual nodes.
Definition score-plugin-gfx/Gfx/Graph/Node.hpp:75
Renderer for a given node.
Definition NodeRenderer.hpp:11
Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)
Definition OutputNode.hpp:24
OutputNodeRenderer * createRenderer(RenderList &r) const noexcept override=0
Create a renderer in a given context for this node.
Definition OutputNode.hpp:11
List of nodes to be rendered to an output.
Definition RenderList.hpp:19
A platform window in which the content is going to be rendered.
Definition plugins/score-plugin-gfx/Gfx/Graph/Window.hpp:19
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:12
GraphicsApi
Available graphics APIs to use.
Definition RenderState.hpp:17
Definition OutputNode.hpp:49