39 halp_meta(name,
"Extract buffer (by name)")
40 halp_meta(category,
"Visuals/Utilities")
41 halp_meta(c_name,
"extract_buffer_by_name")
43 manual_url,
"https://ossia.io/score-docs/processes/extract-buffer.html")
44 halp_meta(uuid,
"3c9d6c2b-1f04-4f7d-9bc2-a4b1d7c8e5f0")
56 halp_meta(name,
"Geometry");
57 halp::dynamic_gpu_geometry
mesh;
58 float transform[16]{};
59 bool dirty_mesh =
false;
60 bool dirty_transform =
false;
63 halp::combobox_t<
"Mode", Mode> mode;
64 struct : halp::lineedit<
"Name / index",
"position">
66 halp_meta(symbol,
"name")
68 halp::toggle<
"Pad vec3 to vec4"> pad_to_vec4;
73 halp::gpu_buffer_output<
"Buffer"> buffer;
83 void runInitialPasses(
91 [[nodiscard]]
static std::optional<attribute_lookup>
92 resolveAttribute(
const halp::dynamic_gpu_geometry&
mesh, std::string_view n)
noexcept;
99 int64_t byte_offset{};
102 [[nodiscard]]
static BufferRef
103 resolveBuffer(
const halp::dynamic_gpu_geometry& mesh, std::string_view n)
noexcept;
109 ExtractionStrategyVariant m_strategy;
110 Mode m_currentMode{Attribute};
111 std::string m_currentName{};
112 bool m_currentPadToVec4{
false};