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

◆ for_raw()

static VertexLayout MayaFlux::Kakshya::VertexLayout::for_raw ( uint32_t  stride = 60)
inlinestatic

Factory: layout for raw vertex data with common attributes.

Matches PointVertex/LineVertex/MeshVertex field order exactly (60 bytes): loc 0 offset 0 VERTEX_POSITIONS_3D position loc 1 offset 12 VERTEX_COLORS_RGB color loc 2 offset 24 SCALAR_F32 scalar loc 3 offset 28 TEXTURE_COORDS_2D uv loc 4 offset 36 VERTEX_NORMALS_3D normal loc 5 offset 48 VERTEX_TANGENTS_3D tangent

Use when vertex data is pre-packed or doesn't fit standard structs.

Parameters
strideOverride stride (default: 60 bytes for these attributes)

Definition at line 232 of file VertexLayout.hpp.

233 {
234 VertexLayout layout;
235 layout.stride_bytes = stride;
236 layout.attributes.push_back({ .component_modality = DataModality::VERTEX_POSITIONS_3D,
237 .offset_in_vertex = 0,
238 .name = "position" });
239 layout.attributes.push_back({ .component_modality = DataModality::VERTEX_COLORS_RGB,
240 .offset_in_vertex = 12,
241 .name = "color" });
242 layout.attributes.push_back({ .component_modality = DataModality::SCALAR_F32,
243 .offset_in_vertex = 24,
244 .name = "scalar" });
245 layout.attributes.push_back({ .component_modality = DataModality::VERTEX_NORMALS_3D,
246 .offset_in_vertex = 36,
247 .name = "normal" });
248 layout.attributes.push_back({ .component_modality = DataModality::VERTEX_TANGENTS_3D,
249 .offset_in_vertex = 48,
250 .name = "tangent" });
251 return layout;
252 }
@ SCALAR_F32
Single-channel float data.

References attributes, MayaFlux::Kakshya::SCALAR_F32, stride_bytes, MayaFlux::Kakshya::VERTEX_COLORS_RGB, MayaFlux::Kakshya::VERTEX_NORMALS_3D, MayaFlux::Kakshya::VERTEX_POSITIONS_3D, and MayaFlux::Kakshya::VERTEX_TANGENTS_3D.

Referenced by MayaFlux::Buffers::DataWriteProcessor::on_attach(), and MayaFlux::Kakshya::vertex_layout_for().

+ Here is the caller graph for this function: