19 void init(
RenderList& renderer, QRhiResourceUpdateBatch& res)
override;
20 void update(
RenderList& renderer, QRhiResourceUpdateBatch& res,
Edge* edge)
override;
21 bool updateMaterials(
RenderList& renderer, QRhiResourceUpdateBatch& res,
Edge* edge);
24 void runInitialPasses(
25 RenderList&, QRhiCommandBuffer& commands, QRhiResourceUpdateBatch*& res,
28 void runRenderPass(
RenderList&, QRhiCommandBuffer& commands,
Edge& edge)
override;
30 void process(int32_t port,
const ossia::transform3d& v)
override;
33 ossia::small_flat_map<const Port*, TextureRenderTarget, 2> m_rts;
37 std::vector<Sampler> allSamplers()
const noexcept;
39 ossia::small_vector<std::pair<Edge*, Pass>, 2> m_passes;
43 std::vector<Sampler> m_inputSamplers;
44 std::vector<Sampler> m_audioSamplers;
46 int64_t meshChangedIndex{-1};
50 QRhiBuffer* m_materialUBO{};
53 QRhiBuffer* m_modelUBO{};
55 std::optional<AudioTextureUpload> m_audioTex;
59 static constexpr int size_of_pipeline_material = 32;
60 char m_prevPipelineChangingMaterial[size_of_pipeline_material]{0};
61 struct PipelineChangingMaterial
65 QRhiGraphicsPipeline::BlendFactor src_color;
66 QRhiGraphicsPipeline::BlendFactor dst_color;
67 QRhiGraphicsPipeline::BlendOp op_color;
68 QRhiGraphicsPipeline::BlendFactor src_alpha;
69 QRhiGraphicsPipeline::BlendFactor dst_alpha;
70 QRhiGraphicsPipeline::BlendOp op_alpha;
72 static_assert(
sizeof(PipelineChangingMaterial) == size_of_pipeline_material);
74 ossia::transform3d m_modelTransform;
Useful abstraction for storing all the data related to a render target.
Definition score-plugin-gfx/Gfx/Graph/Utils.hpp:116