From 8f45f4ec35bd87b2f8143de8f7a6f5306cc7d1bc Mon Sep 17 00:00:00 2001 From: Philip Rideout Date: Fri, 12 Jul 2019 09:17:59 -0700 Subject: [PATCH] gltfio: Fix skinning offset. Thanks @iamjinge for the fix. Fixes #1405. --- libs/gltfio/src/ResourceLoader.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/gltfio/src/ResourceLoader.cpp b/libs/gltfio/src/ResourceLoader.cpp index 8213146b77..b32ff408f9 100644 --- a/libs/gltfio/src/ResourceLoader.cpp +++ b/libs/gltfio/src/ResourceLoader.cpp @@ -108,7 +108,8 @@ static void importSkinningData(Skin& dstSkin, const cgltf_skin& srcSkin) { dstSkin.inverseBindMatrices.resize(srcSkin.joints_count); if (srcMatrices) { auto dstMatrices = (uint8_t*) dstSkin.inverseBindMatrices.data(); - auto srcBuffer = srcMatrices->buffer_view->buffer->data; + uint8_t* bytes = (uint8_t*) srcMatrices->buffer_view->buffer->data; + auto srcBuffer = (void*) (bytes + srcMatrices->offset + srcMatrices->buffer_view->offset); memcpy(dstMatrices, srcBuffer, srcSkin.joints_count * sizeof(mat4f)); } }