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;
35 std::vector<Sampler> allSamplers()
const noexcept;
37 ossia::small_vector<std::pair<Edge*, Pass>, 2> m_passes;
41 std::vector<Sampler> m_inputSamplers;
42 std::vector<Sampler> m_audioSamplers;
44 int64_t meshChangedIndex{-1};
48 QRhiBuffer* m_materialUBO{};
51 QRhiBuffer* m_modelUBO{};
61 std::vector<AuxiliarySSBO> m_auxiliarySSBOs;
63 std::optional<AudioTextureUpload> m_audioTex;
67 static constexpr int size_of_pipeline_material = 32;
68 char m_prevPipelineChangingMaterial[size_of_pipeline_material]{0};
69 struct PipelineChangingMaterial
73 QRhiGraphicsPipeline::BlendFactor src_color;
74 QRhiGraphicsPipeline::BlendFactor dst_color;
75 QRhiGraphicsPipeline::BlendOp op_color;
76 QRhiGraphicsPipeline::BlendFactor src_alpha;
77 QRhiGraphicsPipeline::BlendFactor dst_alpha;
78 QRhiGraphicsPipeline::BlendOp op_alpha;
80 static_assert(
sizeof(PipelineChangingMaterial) == size_of_pipeline_material);
82 ossia::transform3d m_modelTransform;
Useful abstraction for storing all the data related to a render target.
Definition score-plugin-gfx/Gfx/Graph/Utils.hpp:122