InvertYRenderer.hpp
1 #pragma once
2 
3 #include <Gfx/Graph/NodeRenderer.hpp>
4 #include <Gfx/Graph/OutputNode.hpp>
5 namespace Gfx
6 {
7 
8 class SCORE_PLUGIN_GFX_EXPORT InvertYRenderer final
10 {
11 public:
12  explicit InvertYRenderer(
13  score::gfx::TextureRenderTarget rt, QRhiReadbackResult& readback);
14 
15  score::gfx::TextureRenderTarget m_inputTarget;
16  score::gfx::TextureRenderTarget m_renderTarget;
17 
18  QShader m_vertexS, m_fragmentS;
19 
20  std::vector<score::gfx::Sampler> m_samplers;
21 
23 
24  score::gfx::MeshBuffers m_mesh{};
25 
27  renderTargetForInput(const score::gfx::Port& p) override
28  {
29  return m_inputTarget;
30  }
31 
32  void finishFrame(
33  score::gfx::RenderList& renderer, QRhiCommandBuffer& cb,
34  QRhiResourceUpdateBatch*& res) override;
35 
36  void init(score::gfx::RenderList& renderer, QRhiResourceUpdateBatch& res) override;
37  void update(score::gfx::RenderList& renderer, QRhiResourceUpdateBatch& res) override;
38  void release(score::gfx::RenderList&) override;
39 
40 private:
41  QRhiReadbackResult& m_readback;
42 };
43 
44 }
Definition: InvertYRenderer.hpp:10
Definition: OutputNode.hpp:11
List of nodes to be rendered to an output.
Definition: RenderList.hpp:19
Binds the rendering pipeline to ossia processes.
Definition: CameraDevice.cpp:28
Definition: Mesh.hpp:15
Useful abstraction for storing a graphics pipeline and associated resource bindings.
Definition: score-plugin-gfx/Gfx/Graph/Utils.hpp:93
Port of a score::gfx::Node.
Definition: score-plugin-gfx/Gfx/Graph/Utils.hpp:48
Useful abstraction for storing all the data related to a render target.
Definition: score-plugin-gfx/Gfx/Graph/Utils.hpp:111