From 6deda4129825b4b77fb7179f43d4bb7a755c4813 Mon Sep 17 00:00:00 2001 From: Frederico Linhares Date: Fri, 5 Sep 2025 09:55:25 -0300 Subject: feat Add hierarchy to skeletal mesh --- src/blu_cat/gra/skeletal_mesh.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/blu_cat/gra/skeletal_mesh.cpp') diff --git a/src/blu_cat/gra/skeletal_mesh.cpp b/src/blu_cat/gra/skeletal_mesh.cpp index 1515dda..8e2e39f 100644 --- a/src/blu_cat/gra/skeletal_mesh.cpp +++ b/src/blu_cat/gra/skeletal_mesh.cpp @@ -86,7 +86,7 @@ load_mesh(void *obj) SKELETAL_MESH_HEADER_SIZE + header.num_vertexes * 16 * SIZE_32_BIT + header.num_indexes * SIZE_32_BIT + - header.num_bones * 16 * SIZE_32_BIT + + header.num_bones * (16 * SIZE_32_BIT + SIZE_16_BIT) + header.num_animations * (2 * SIZE_64_BIT + SIZE_32_BIT) + header.num_bone_transforms * 4 * SIZE_32_BIT + header.num_bone_positions * (3 * SIZE_32_BIT + SIZE_64_BIT) + @@ -153,7 +153,11 @@ load_mesh(void *obj) { // Load bones self->mesh->bones.reserve(header.num_bones); for(int i{0}; i < header.num_bones; i++) - self->mesh->bones.emplace_back(input.read_mat4()); + { + auto matrix{input.read_mat4()}; + auto parent{input.read_ui16()}; + self->mesh->bones.emplace_back(matrix, parent); + } } { // Load animations -- cgit v1.2.3