Uses the current modality and provided byte count to populate m_dimensions so processors and UI code can reason about the buffer's layout.
301{
303
305
307 case DataModality::VERTICES_3D: {
308 const uint64_t
count = byte_count /
sizeof(Kakshya::Vertex);
311 m_dimensions.push_back(DataDimension::grouped(
"scalar",
count, 1, DataDimension::Role::CUSTOM));
314 m_dimensions.push_back(DataDimension::grouped(
"tangents",
count, 3, DataDimension::Role::CUSTOM));
315 break;
316 }
317 case DataModality::VERTEX_POSITIONS_3D: {
318 uint64_t
count = byte_count /
sizeof(glm::vec3);
320 break;
321 }
322
323 case DataModality::VERTEX_NORMALS_3D: {
324 uint64_t
count = byte_count /
sizeof(glm::vec3);
326 break;
327 }
328
329 case DataModality::TEXTURE_COORDS_2D: {
330 uint64_t
count = byte_count /
sizeof(glm::vec2);
332 break;
333 }
334
335 case DataModality::VERTEX_COLORS_RGB: {
336 uint64_t
count = byte_count /
sizeof(glm::vec3);
338 break;
339 }
340
341 case DataModality::VERTEX_COLORS_RGBA: {
342 uint64_t
count = byte_count /
sizeof(glm::vec4);
344 break;
345 }
346
347 case DataModality::AUDIO_1D: {
348 uint64_t samples = byte_count / sizeof(double);
350 break;
351 }
352
353 default:
354 m_dimensions.emplace_back(
"data", byte_count, 1, DataDimension::Role::CUSTOM);
355 break;
356 }
357}
std::vector< Kakshya::DataDimension > m_dimensions
Kakshya::DataModality m_modality
@ Kakshya
Containers[Signalsource, Stream, File], Regions, DataProcessors.