23 halp_meta(name,
"Splat loader")
24 halp_meta(category,
"Visuals/Meshes")
25 halp_meta(c_name,
"buffer_loader")
26 halp_meta(authors,
"Jean-Michaƫl Celerier, miniPLY authors")
27 halp_meta(manual_url,
"https://ossia.io/score-docs/processes/meshes.html#splat-loader")
28 halp_meta(description,
"Loads gaussian splats from a PLY model")
29 halp_meta(uuid,
"bab30770-d6d7-4727-ad43-38eacdd910a7")
33 struct obj_t : halp::file_port<"3DGS PLY file", halp::mmap_file_view>
35 halp_meta(extensions,
"3DGS files (*.ply)");
36 static std::function<void(
SplatLoader&)> process(file_type data)
38 auto loaded = Threedim::GaussianSplatsFromPly(data.filename);
39 return [l = std::move(loaded)](
SplatLoader& self)
mutable {
40 std::swap(self.m_splat_data.buffer, l.buffer);
41 self.m_splat_data.splatCount = l.splatCount;
42 self.m_splat_data.shRestCount = l.shRestCount;
43 self.m_changed =
true;
51 halp::gpu_buffer_output<
"Output"> buffer;
62 void runInitialPasses(
67 QRhiBuffer* m_last_buffer{};