From bd6c0bab44549f0ca69cddfa3f9101ccce3728a2 Mon Sep 17 00:00:00 2001 From: Gary M Date: Mon, 26 Feb 2024 01:48:19 -0800 Subject: [PATCH] add 16-bit unsigned short vec4 format for gltf joint loading (#3821) --- src/rmodels.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/rmodels.c b/src/rmodels.c index 166f51a6a..1a4374a39 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5287,6 +5287,13 @@ static Model LoadGLTF(const char *fileName) unsigned short* ptr = (unsigned short*)model.meshes[meshIndex].boneIds; LOAD_ATTRIBUTE(attribute, 2, unsigned short, ptr) } + else if ((attribute->component_type == cgltf_component_type_r_16u) && (attribute->type == cgltf_type_vec4)) + { + // Handle 16-bit unsigned short, vec4 format + model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned short)); + unsigned short* ptr = (unsigned short*)model.meshes[meshIndex].boneIds; + LOAD_ATTRIBUTE(attribute, 4, unsigned short, ptr) + } else if ((attribute->component_type == cgltf_component_type_r_32u) && (attribute->type == cgltf_type_vec4)) { // Handle 32-bit unsigned int, vec4 format