MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ create_structured_dimension()

template<GlmType T>
DataDimension MayaFlux::Kakshya::DataInsertion::create_structured_dimension ( uint64_t  element_count,
DataModality  modality 
) const
inlineprivate

Create dimension descriptor for structured data.

Definition at line 280 of file DataInsertion.hpp.

282 {
283 switch (modality) {
285 return DataDimension::vertex_positions(element_count);
286
288 return DataDimension::vertex_normals(element_count);
289
291 return DataDimension::texture_coords(element_count);
292
294 return DataDimension::vertex_colors(element_count, false);
295
297 return DataDimension::vertex_colors(element_count, true);
298
301 default: {
302 constexpr size_t components = glm_component_count<T>();
305 element_count,
306 static_cast<uint8_t>(components),
307 modality_to_role(modality));
308 }
309 }
310 }
static std::string modality_to_dimension_name(DataModality modality)
Convert modality to appropriate dimension name.
static DataDimension::Role modality_to_role(DataModality modality)
Convert modality to dimension role.
static DataDimension vertex_positions(uint64_t count)
Create dimension for vertex positions (vec3)
Definition NDData.cpp:87
static DataDimension vertex_colors(uint64_t count, bool has_alpha=false)
Create dimension for colors (vec3 or vec4)
Definition NDData.cpp:102
static DataDimension grouped(std::string name, uint64_t element_count, uint8_t components_per_element, Role role=Role::CUSTOM)
Create dimension with component grouping.
Definition NDData.cpp:71
static DataDimension vertex_normals(uint64_t count)
Create dimension for vertex normals (vec3)
Definition NDData.cpp:92
static DataDimension texture_coords(uint64_t count)
Create dimension for texture coordinates (vec2)
Definition NDData.cpp:97