MayaFlux 0.3.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 268 of file DataInsertion.hpp.

270 {
271 switch (modality) {
273 return DataDimension::vertex_positions(element_count);
274
276 return DataDimension::vertex_normals(element_count);
277
279 return DataDimension::texture_coords(element_count);
280
282 return DataDimension::vertex_colors(element_count, false);
283
285 return DataDimension::vertex_colors(element_count, true);
286
289 default: {
290 constexpr size_t components = glm_component_count<T>();
293 element_count,
294 static_cast<uint8_t>(components),
295 modality_to_role(modality));
296 }
297 }
298 }
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:88
static DataDimension vertex_colors(uint64_t count, bool has_alpha=false)
Create dimension for colors (vec3 or vec4)
Definition NDData.cpp:103
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:72
static DataDimension vertex_normals(uint64_t count)
Create dimension for vertex normals (vec3)
Definition NDData.cpp:93
static DataDimension texture_coords(uint64_t count)
Create dimension for texture coordinates (vec2)
Definition NDData.cpp:98