From cc1bde0514773ff9b96ca2284215e20545017f4a Mon Sep 17 00:00:00 2001 From: wuxq Date: Tue, 8 May 2018 18:31:27 +0800 Subject: [PATCH] change the length of bufferView byteLength chang the joint attribute bufferView byteLength --- code/glTF2Exporter.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/glTF2Exporter.cpp b/code/glTF2Exporter.cpp index 431046d72..041250bee 100644 --- a/code/glTF2Exporter.cpp +++ b/code/glTF2Exporter.cpp @@ -642,6 +642,7 @@ void ExportSkin(Asset& mAsset, const aiMesh* aimesh, Ref& meshRef, RefbufferView->byteLength; unsigned int s_bytesPerComp= ComponentTypeSize(ComponentType_UNSIGNED_SHORT); unsigned int bytesPerComp = ComponentTypeSize(vertexJointAccessor->componentType); + unsigned int s_bytesLen = bytesLen * s_bytesPerComp / bytesPerComp; Ref buf = vertexJointAccessor->bufferView->buffer; uint8_t* arrys = new uint8_t[bytesLen]; unsigned int i = 0; @@ -656,6 +657,7 @@ void ExportSkin(Asset& mAsset, const aiMesh* aimesh, Ref& meshRef, RefReplaceData_joint(offset, bytesLen, arrys, bytesLen); vertexJointAccessor->componentType = ComponentType_UNSIGNED_SHORT; + vertexJointAccessor->bufferView->byteLength = s_bytesLen; p.attributes.joint.push_back( vertexJointAccessor ); }