24struct SCORE_PLUGIN_GFX_EXPORT
Graph
46 void addEdge(
Port* source,
Port* sink, Process::CableType t);
51 void removeEdge(
Port* source,
Port* sink);
57 void removeNodeFromRenderLists(
Node* node);
62 void removeNodeAndEdges(
Node* node);
74 onEdgeRemoved(
Edge& edge,
const ossia::hash_set<const Port*>* preserveSinks =
nullptr);
78 void updateSinkSampler(
Edge& edge);
81 void createAllMissingPasses();
82 void updateAllSinkSamplers();
86 void createPassForEdgeIfMissing(
Edge& edge);
91 void reconcileAllRenderLists();
101 void createAllRenderLists(
GraphicsApi graphicsApi);
131 bool canDoVSync()
const noexcept;
142 void createMissingRenderLists();
144 const std::vector<std::shared_ptr<RenderList>>& renderLists()
const noexcept
149 std::span<OutputNode* const> outputs()
const noexcept
170 void retopologicalSort(RenderList& rl);
172 void initializeOutput(OutputNode* output, GraphicsApi graphicsApi);
173 void createOutputRenderList(OutputNode& output);
174 void recreateOutputRenderList(OutputNode& output);
175 std::shared_ptr<RenderList>
176 createRenderList(OutputNode*, std::shared_ptr<RenderState> state);
178 std::vector<std::shared_ptr<RenderList>> m_renderers;
179 std::vector<std::shared_ptr<Window>> m_unused_windows;
181 std::vector<score::gfx::Node*> m_nodes;
182 std::vector<Edge*> m_edges;
184 std::vector<OutputNode*> m_outputs;
190 ossia::hash_set<std::string> m_warnedCycles;
Base class for sink nodes (QWindow, spout, syphon, NDI output, ...)
Definition OutputNode.hpp:56