13 ossia::mesh_list geom;
15 using pip = QRhiGraphicsPipeline;
16 pip::Topology topology = pip::Topology::TriangleStrip;
17 pip::CullMode cullMode = pip::CullMode::None;
18 pip::FrontFace frontFace = pip::FrontFace::CW;
20 ossia::small_vector<QRhiVertexInputBinding, 2> vertexBindings;
21 ossia::small_vector<QRhiVertexInputAttribute, 2> vertexAttributes;
25 const ossia::mesh_list& g,
const ossia::geometry_filter_list_ptr& f);
28 QRhiBuffer* init_vbo(
const ossia::geometry::cpu_buffer& buf, QRhi& rhi)
const noexcept;
31 QRhiBuffer* init_vbo(
const ossia::geometry::gpu_buffer& buf, QRhi& rhi)
const noexcept;
34 init_index(
const ossia::geometry::cpu_buffer& buf, QRhi& rhi)
const noexcept;
38 init_index(
const ossia::geometry::gpu_buffer& buf, QRhi& rhi)
const noexcept;
40 [[nodiscard]]
MeshBuffers init(QRhi& rhi)
const noexcept override;
43 const ossia::geometry::cpu_buffer& vtx_buf,
MeshBuffers& meshbuf,
44 QRhiResourceUpdateBatch& rb)
const noexcept;
47 const ossia::geometry::gpu_buffer& vtx_buf,
MeshBuffers& meshbuf,
48 QRhiResourceUpdateBatch& rb)
const noexcept;
51 const ossia::geometry::cpu_buffer& idx_buf,
MeshBuffers& meshbuf,
52 QRhiResourceUpdateBatch& rb)
const noexcept;
55 const ossia::geometry::gpu_buffer& idx_buf,
MeshBuffers& meshbuf,
56 QRhiResourceUpdateBatch& rb)
const noexcept;
57 void update(
MeshBuffers& meshbuf, QRhiResourceUpdateBatch& rb)
const noexcept override;
58 Flags flags()
const noexcept override;
62 void preparePipeline(QRhiGraphicsPipeline& pip)
const noexcept override;
64 void reload(
const ossia::mesh_list& ml,
const ossia::geometry_filter_list_ptr& f);
66 void draw(
const MeshBuffers& bufs, QRhiCommandBuffer& cb)
const noexcept override;