20 halp_meta(name,
"Texture to buffer")
21 halp_meta(category,
"Visuals/3D")
22 halp_meta(c_name,
"texture_to_buffer")
23 halp_meta(manual_url,
"https://ossia.io/score-docs/processes/texture-to-buffer.html")
24 halp_meta(uuid,
"fd7d6339-c745-4733-a1c2-6ebd0a25fd92")
28 halp::texture_input<
"Texture", halp::custom_variable_texture> texture;
32 halp::gpu_buffer_output<
"Buffer"> buffer;
38 outputs.buffer.buffer.handle =
nullptr;
39 outputs.buffer.buffer.byte_size = 0;
40 outputs.buffer.buffer.byte_offset = 0;
41 outputs.buffer.buffer.changed =
true;
43 if(!inputs.texture.texture.bytes)
45 auto bytes = inputs.texture.texture.bytesize();
48 renderer.releaseBuffer(buf);
52 buf = renderer.
state.rhi->newBuffer(QRhiBuffer::Static, QRhiBuffer::StorageBuffer | QRhiBuffer::VertexBuffer, bytes);
60 outputs.buffer.buffer.handle = buf;
61 outputs.buffer.buffer.byte_size = bytes;
62 outputs.buffer.buffer.byte_offset = 0;
63 outputs.buffer.buffer.changed =
true;
70 if(!buf || inputs.texture.texture.bytesize() != buf->size())
78 void runInitialPasses(
82 if(!inputs.texture.texture.bytes)
86 auto sz = buf->size();
87 if(inputs.texture.texture.bytesize() != sz)
91 res->uploadStaticBuffer(
93 QByteArray::fromRawData((
const char*)inputs.texture.texture.bytes, sz));
Definition TextureToBuffer.hpp:18
Definition TextureToBuffer.hpp:27