|
MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
|
Complete description of vertex data layout in a buffer. More...
#include <VertexLayout.hpp>
Collaboration diagram for MayaFlux::Kakshya::VertexLayout:Public Member Functions | |
| void | compute_stride () |
| Helper: compute stride from attributes if not explicitly set. | |
Static Public Member Functions | |
| static VertexLayout | for_points (uint32_t stride=28) |
| Factory: Create layout for point primitives (position, color, size) | |
| static VertexLayout | for_lines (uint32_t stride=36) |
| Factory: Create layout for line primitives (position, color, thickness) | |
| static VertexLayout | for_textured_quad (uint32_t vertex_count=4) |
| Factory: Create layout for textured quad primitives (position, texcoord). | |
Public Attributes | |
| uint32_t | vertex_count = 0 |
| Total number of vertices in this buffer. | |
| uint32_t | stride_bytes = 0 |
| Total bytes per vertex (stride in Vulkan terms) e.g., 3 floats (position) + 3 floats (normal) = 24 bytes. | |
| std::vector< VertexAttributeLayout > | attributes |
| All attributes that make up one vertex Ordered by shader location (0, 1, 2, ...) | |
Static Private Member Functions | |
| static uint32_t | modality_size_bytes (DataModality mod) |
| Get size in bytes for a given modality Mirrors VKBuffer::get_format() logic. | |
Complete description of vertex data layout in a buffer.
Fully semantic and backend-agnostic. Portal layer translates to Vulkan. Derived from buffer's modality and dimensions.
Definition at line 41 of file VertexLayout.hpp.