|
|
@ -4966,6 +4966,10 @@ static Model LoadGLTF(const char *fileName) |
|
|
|
model.meshes[meshIndex].boneIds = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(unsigned char)); |
|
|
|
|
|
|
|
// Load 4 components of unsigned char data type into mesh.boneIds |
|
|
|
// TODO: It seems LOAD_ATTRIBUTE() macro does not work as expected in some cases, |
|
|
|
// for cgltf_attribute_type_joints we have: |
|
|
|
// - data.meshes[0] (256 vertices) |
|
|
|
// - 256 values, provided as cgltf_type_vec4 of bytes (4 byte per joint, stride 4) |
|
|
|
LOAD_ATTRIBUTE(attribute, 4, unsigned char, model.meshes[meshIndex].boneIds) |
|
|
|
} |
|
|
|
else TRACELOG(LOG_WARNING, "MODEL: [%s] Joint attribute data format not supported, use vec4 u8", fileName); |
|
|
@ -4980,6 +4984,9 @@ static Model LoadGLTF(const char *fileName) |
|
|
|
model.meshes[meshIndex].boneWeights = RL_CALLOC(model.meshes[meshIndex].vertexCount*4, sizeof(float)); |
|
|
|
|
|
|
|
// Load 4 components of float data type into mesh.boneWeights |
|
|
|
// for cgltf_attribute_type_weights we have: |
|
|
|
// - data.meshes[0] (256 vertices) |
|
|
|
// - 256 values, provided as cgltf_type_vec4 of float (4 byte per joint, stride 16) |
|
|
|
LOAD_ATTRIBUTE(attribute, 4, float, model.meshes[meshIndex].boneWeights) |
|
|
|
} |
|
|
|
else TRACELOG(LOG_WARNING, "MODEL: [%s] Joint weight attribute data format not supported, use vec4 float", fileName); |
|
|
|