PreviewWidget.hpp
1 #pragma once
2 #include <Gfx/Graph/Graph.hpp>
3 #include <Gfx/Graph/ImageNode.hpp>
4 #include <Gfx/Graph/Node.hpp>
5 #include <Gfx/Graph/ShaderCache.hpp>
6 #include <Gfx/Graph/Window.hpp>
7 #include <Gfx/ShaderProgram.hpp>
8 
9 #include <QWidget>
10 #include <QHBoxLayout>
11 namespace score::gfx
12 {
13 class ISFNode;
14 }
15 namespace Process
16 {
17 struct Preset;
18 }
19 namespace Gfx
20 {
21 class ShaderPreviewWidget : public QWidget
22 {
23 public:
24  ShaderPreviewWidget(const QString& path, QWidget* parent = nullptr);
25  ShaderPreviewWidget(const Process::Preset& path, QWidget* parent = nullptr);
27 
28 private:
29  void setup();
30  void timerEvent(QTimerEvent* event) override;
31 
32  std::vector<score::gfx::Node*> m_previewInputs;
33  std::unique_ptr<score::gfx::ISFNode> m_isf{};
34  std::unique_ptr<score::gfx::ScreenNode> m_screen{};
35  std::vector<std::unique_ptr<score::gfx::Node>> m_textures;
36  score::gfx::Graph m_graph{};
37  ProcessedProgram m_program;
38 };
39 
40 }
Definition: PreviewWidget.hpp:22
Data model for Interactive Shader Format filters.
Definition: ISFNode.hpp:20
Binds the rendering pipeline to ossia processes.
Definition: CameraDevice.cpp:28
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
Graphics rendering pipeline for ossia score.
Definition: PreviewWidget.hpp:12
Definition: ShaderProgram.hpp:120
Definition: Preset.hpp:32
Represents a graph of renderers.
Definition: score-plugin-gfx/Gfx/Graph/Graph.hpp:16