Loading...
Searching...
No Matches
ISFExecutor.hpp
1#pragma once
2#include <Process/Execution/ProcessComponent.hpp>
3
4#include <ossia/dataflow/node_process.hpp>
5
6#include <score_plugin_gfx_export.h>
7namespace isf
8{
9struct descriptor;
10}
11namespace Gfx
12{
13struct ProcessedProgram;
14class SCORE_PLUGIN_GFX_EXPORT ISFExecutorComponent : public Execution::ProcessComponent
15{
16public:
17 using Execution::ProcessComponent::ProcessComponent;
18
19 void cleanup() override;
20
21 void init(const Gfx::ProcessedProgram& shader, const Execution::Context& ctx);
22 void init(
23 const QString& shader, const isf::descriptor& desc, const Execution::Context& ctx);
24 void on_shaderChanged(const Gfx::ProcessedProgram& shader);
25 void on_shaderChanged(const QString& shader, const isf::descriptor& desc);
26 std::pair<ossia::inlets, ossia::outlets>
27 setup_node(const isf::descriptor& desc, Execution::Transaction& transact);
28
29 Process::Inlets m_oldInlets;
30 Process::Outlets m_oldOutlets;
31};
32}
Definition Process/Execution/ProcessComponent.hpp:48
Definition ISFExecutor.hpp:15
Binds the rendering pipeline to ossia processes.
Definition CameraDevice.cpp:24
Definition ExecutionContext.hpp:196
Definition ExecutionTransaction.hpp:21
Definition ShaderProgram.hpp:145
Definition PortForward.hpp:23
Definition PortForward.hpp:27