Hi, i've been using Assimp to extract model information into a custom format and use in my program. However I havnt been able to render it correctly.

I have managed to get the vertices rendered without using the bones. This creates the basic pose of the guy (img 1) just holding his hands out.

However once i get the animator creating bone matrices for it to use things get weird (img 2).

I decided to use the assimp source code to check if some of my calculations were correct. First i checked the final transformations of each bone matched assimps at frametime 0. They are now matched, so I have the same final formations for each bone (except mine are column-major, and assimp is row-major).

Since my final formations seemed ok I decided to keep looking for my distortion problem. I checked my vertices contained the correct boneIDs and weights.

After checking those were correct I double checked my shader

#version 330 const int MAX_BONES_PER_MESH = 50; uniform mat4 mvp_matrix; uniform float alpha; uniform mat4 bone_matrix[MAX_BONES_PER_MESH]; in vec3 in_vertex; in vec3 in_colour; in vec2 in_texCoord0; in vec3 in_normal; in ivec4 in_boneID; in vec4 in_boneWeight; out vec4 colour; out vec2 texCoord0; out vec3 normal; void main(void) { mat4 boneMatrix = bone_matrix[in_boneID[0]] * in_boneWeight[0]; boneMatrix += bone_matrix[in_boneID[1]] * in_boneWeight[1]; boneMatrix += bone_matrix[in_boneID[2]] * in_boneWeight[2]; boneMatrix += bone_matrix[in_boneID[3]] * in_boneWeight[3]; vec4 position = boneMatrix * vec4(in_vertex, 1.0); gl_Position = mvp_matrix * position; colour = vec4(in_colour, alpha); texCoord0 = in_texCoord0; normal = in_normal; }

which I don't think contains any error.

So i was wondering is anyone has experienced distortion like these images and had the problem lay elsewhere. Is there something I should check next. I will double check my data in the meanwhile.

I can give more information if u need, just ask!

Ty for any help