Uses the current modality and provided byte count to populate m_dimensions so processors and UI code can reason about the buffer's layout.
296{
298
300
302 case DataModality::VERTEX_POSITIONS_3D: {
303 uint64_t count = byte_count / sizeof(glm::vec3);
304 m_dimensions.push_back(DataDimension::vertex_positions(count));
305 break;
306 }
307
308 case DataModality::VERTEX_NORMALS_3D: {
309 uint64_t count = byte_count / sizeof(glm::vec3);
310 m_dimensions.push_back(DataDimension::vertex_normals(count));
311 break;
312 }
313
314 case DataModality::TEXTURE_COORDS_2D: {
315 uint64_t count = byte_count / sizeof(glm::vec2);
316 m_dimensions.push_back(DataDimension::texture_coords(count));
317 break;
318 }
319
320 case DataModality::VERTEX_COLORS_RGB: {
321 uint64_t count = byte_count / sizeof(glm::vec3);
322 m_dimensions.push_back(DataDimension::vertex_colors(count,
false));
323 break;
324 }
325
326 case DataModality::VERTEX_COLORS_RGBA: {
327 uint64_t count = byte_count / sizeof(glm::vec4);
328 m_dimensions.push_back(DataDimension::vertex_colors(count,
true));
329 break;
330 }
331
332 case DataModality::AUDIO_1D: {
333 uint64_t samples = byte_count / sizeof(double);
335 break;
336 }
337
338 default:
339 m_dimensions.emplace_back(
"data", byte_count, 1, DataDimension::Role::CUSTOM);
340 break;
341 }
342}
std::vector< Kakshya::DataDimension > m_dimensions
Kakshya::DataModality m_modality
@ Kakshya
Containers[Signalsource, Stream, File], Regions, DataProcessors.