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