Loading...
Searching...
No Matches
ImageNode.hpp
1#pragma once
2
3#include <Gfx/Graph/Node.hpp>
4
5namespace score::gfx
6{
7enum ImageMode
8{
9 Single,
10 Clamped,
11 Tiled,
12 Mirrored
13};
14
19{
20public:
21 explicit ImagesNode();
22 virtual ~ImagesNode();
23
24 score::gfx::NodeRenderer* createRenderer(RenderList& r) const noexcept override;
25
27 class OnTheFlyRenderer;
28
29#pragma pack(push, 1)
30 struct UBO
31 {
32 int currentImageIndex{};
33 float opacity{1.};
34 float position[2]{0.5, 0.5};
35 float scale[2]{1., 1.};
36 float imageSize[2]{1., 1.};
37 float renderSize[2]{1280., 720.};
38 } ubo;
39#pragma pack(pop)
40
41 std::atomic_int imagesChanged{};
42 std::atomic<ImageMode> tileMode{};
43 score::gfx::ScaleMode scaleMode{score::gfx::ScaleMode::Original};
44 float scale_w{1.0f};
45 float scale_h{1.0f};
46
47private:
48 void process(Message&& msg) override;
49
50 std::vector<score::gfx::Image> images;
51 std::vector<QImage*> linearImages;
52};
54{
55public:
56 explicit FullScreenImageNode(QImage dec);
57 virtual ~FullScreenImageNode();
58
59 score::gfx::NodeRenderer* createRenderer(RenderList& r) const noexcept override;
60
61 class Renderer;
62
63private:
64 QImage m_image;
65};
66}
Definition ImageNode.cpp:542
Definition ImageNode.cpp:301
Common base class for most single-pass, simple nodes.
Definition score-plugin-gfx/Gfx/Graph/Node.hpp:230
Renderer for a given node.
Definition NodeRenderer.hpp:11
List of nodes to be rendered to an output.
Definition RenderList.hpp:19
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:12
ScaleMode
How to resize a texture to adapt it to a viewport.
Definition Scale.hpp:10
Definition ImageNode.hpp:54
score::gfx::NodeRenderer * createRenderer(RenderList &r) const noexcept override
Create a renderer in a given context for this node.
Definition ImageNode.cpp:862
Definition ImageNode.hpp:31
A node that renders an image to screen.
Definition ImageNode.hpp:19
score::gfx::NodeRenderer * createRenderer(RenderList &r) const noexcept override
Create a renderer in a given context for this node.
Definition ImageNode.cpp:725