2 #include <Gfx/Graph/Node.hpp>
21 inputAboutToFinish(
RenderList& renderer,
const Port& p, QRhiResourceUpdateBatch*&);
23 virtual void init(
RenderList& renderer, QRhiResourceUpdateBatch& res) = 0;
24 virtual void update(
RenderList& renderer, QRhiResourceUpdateBatch& res) = 0;
26 virtual void runInitialPasses(
27 RenderList&, QRhiCommandBuffer& commands, QRhiResourceUpdateBatch*& res,
30 virtual void runRenderPass(
RenderList&, QRhiCommandBuffer& commands,
Edge& edge);
35 using PassMap = ossia::small_vector<std::pair<Edge*, Pipeline>, 2>;
36 SCORE_PLUGIN_GFX_EXPORT
37 void defaultPassesInit(
38 PassMap& passes,
const std::vector<Edge*>& edges,
RenderList& renderer,
39 const Mesh& mesh,
const QShader& v,
const QShader& f, QRhiBuffer* processUBO,
40 QRhiBuffer* matUBO,
const std::vector<Sampler>& samplers);
42 SCORE_PLUGIN_GFX_EXPORT
43 void defaultRenderPass(
45 QRhiCommandBuffer& cb,
Edge& edge, PassMap& passes);
47 SCORE_PLUGIN_GFX_EXPORT
71 std::vector<Sampler> m_samplers;
81 QRhiBuffer* m_processUBO{};
84 int64_t materialChangedIndex{-1};
85 int64_t geometryChangedIndex{-1};
91 defaultMeshInit(
RenderList& renderer,
const Mesh& mesh, QRhiResourceUpdateBatch& res);
94 void defaultPassesInit(
95 RenderList& renderer,
const Mesh& mesh,
const QShader& v,
const QShader& f);
97 void init(
RenderList& renderer, QRhiResourceUpdateBatch& res)
override;
99 void defaultUBOUpdate(
RenderList& renderer, QRhiResourceUpdateBatch& res);
100 void defaultMeshUpdate(
RenderList& renderer, QRhiResourceUpdateBatch& res);
101 void update(
RenderList& renderer, QRhiResourceUpdateBatch& res)
override;
106 void defaultRenderPass(
109 void defaultRenderPass(
113 void runRenderPass(
RenderList&, QRhiCommandBuffer& commands,
Edge& edge)
override;
Generic renderer.
Definition: NodeRenderer.hpp:59
Common base class for most single-pass, simple nodes.
Definition: score-plugin-gfx/Gfx/Graph/Node.hpp:180
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: PreviewWidget.hpp:12
Utility to represent a shader material following score conventions.
Definition: score-plugin-gfx/Gfx/Graph/Utils.hpp:243
Connection between two score::gfx::Port.
Definition: score-plugin-gfx/Gfx/Graph/Utils.hpp:64
Data model for meshes.
Definition: Mesh.hpp:22
Port of a score::gfx::Node.
Definition: score-plugin-gfx/Gfx/Graph/Utils.hpp:46
Useful abstraction for storing all the data related to a render target.
Definition: score-plugin-gfx/Gfx/Graph/Utils.hpp:109