14 glm::vec3 default_color { 1.0F, 1.0F, 1.0F };
15 float default_size { 3.0F };
16 float default_thickness { 1.0F };
17 float default_weight { 0.0F };
18 glm::vec2 default_uv { 0.0F, 0.0F };
19 glm::vec3 default_normal { 0.0F, 0.0F, 1.0F };
20 glm::vec3 default_tangent { 1.0F, 0.0F, 0.0F };
49 const void* data_ptr =
nullptr;
50 size_t byte_count = 0;
59 return !conversion_buffer.empty();
81[[nodiscard]] MAYAFLUX_API std::optional<VertexAccess>
97[[nodiscard]] MAYAFLUX_API std::optional<VertexAccess>
99 const VertexAccessConfig& config = {});
114[[nodiscard]] MAYAFLUX_API std::optional<VertexAccess>
116 const VertexAccessConfig& config = {});
131[[nodiscard]] MAYAFLUX_API std::optional<VertexAccess>
133 const VertexAccessConfig& config = {});
std::optional< VertexAccess > as_line_vertex_access(std::span< const DataVariant > channels, const VertexAccessConfig &config)
Assemble line-vertex-compatible bytes from one or more data channels.
std::optional< VertexAccess > as_point_vertex_access(std::span< const DataVariant > channels, const VertexAccessConfig &config)
Assemble point-vertex-compatible bytes from one or more data channels.
std::optional< VertexAccess > as_mesh_vertex_access(std::span< const DataVariant > channels, const VertexAccessConfig &config)
Assemble mesh-vertex-compatible bytes from one or more data channels.
std::optional< VertexAccess > as_vertex_access(std::span< const DataVariant > channels, const VertexAccessConfig &config)
Extract a VertexAccess from a DataVariant.
Default attribute values for shader-compatible vertex conversion.
std::vector< std::byte > conversion_buffer
Conversion buffer.
bool was_converted() const noexcept
True when data_ptr points into conversion_buffer rather than the original variant storage.
Memory-compatible view of channel data assembled into full 60-byte vertices.
Complete description of vertex data layout in a buffer.