2#include <Gfx/Graph/RenderList.hpp>
3#include <Gfx/Graph/RenderedISFUtils.hpp>
5#include <score/tools/Debug.hpp>
10inline std::vector<Sampler> initInputSamplers(
11 const ProcessNode& node, RenderList& renderer,
const std::vector<Port*>& ports,
12 ossia::small_flat_map<const Port*, TextureRenderTarget, 2>& m_rts)
14 std::vector<Sampler> samplers;
15 QRhi& rhi = *renderer.state.rhi;
23 auto spec = node.resolveRenderTargetSpecs(cur_port, renderer);
24 auto sampler = rhi.newSampler(
25 spec.mag_filter, spec.min_filter, spec.mipmap_mode, spec.address_u,
26 spec.address_v, spec.address_w);
27 sampler->setName(
"ISFNode::initInputSamplers::sampler");
28 SCORE_ASSERT(sampler->create());
31 renderer.state, spec.format, spec.size, renderer.samples(),
32 renderer.requiresDepth());
33 auto texture = rt.texture;
34 samplers.push_back({sampler, texture});
36 m_rts[in] = std::move(rt);
48inline std::vector<Sampler>
49initAudioTextures(RenderList& renderer, std::list<AudioTexture>& textures)
51 std::vector<Sampler> samplers;
52 QRhi& rhi = *renderer.state.rhi;
53 for(
auto& texture : textures)
55 auto sampler = rhi.newSampler(
56 QRhiSampler::Linear, QRhiSampler::Linear, QRhiSampler::None,
57 QRhiSampler::ClampToEdge, QRhiSampler::ClampToEdge);
58 sampler->setName(
"ISFNode::initAudioTextures::sampler");
61 samplers.push_back({sampler, &renderer.emptyTexture()});
62 texture.samplers[&renderer] = {sampler,
nullptr};
Graphics rendering pipeline for ossia score.
Definition Filter/PreviewWidget.hpp:12
TextureRenderTarget createRenderTarget(const RenderState &state, QRhiTexture *tex, int samples, bool depth)
Create a render target from a texture.
Definition score-plugin-gfx/Gfx/Graph/Utils.cpp:10