I have some problems with skinning. So, here are the steps i have done to perform skinning.

Export:

- When exported, all vertices are already in the reference pose.

- All bone transformations are absolute transformation. (Not relative to parent)

- bone offset matrix = inverse (bone transform matrix)

- bone matrix = bone matrix * inverse (parent bone matrix)

CPU:

- bone.transformMatrix = bone matrix (as exported)

- Loop through each bone

bone.absoluteMatrix = bone.transformMatrix * parentBone.absoluteMatrix

- Send bone.absoluteMatrix as the bone matrix to the GPU

- Send bone.offsetMatrix (as exported) as the bone offset matrix to the GPU

GPU:

for each vertex

vec4 tempVertex = [0, 0, 0, 0]

for each bone influencing this vertex

boneMatrix = boneMatrix[this bone] * boneOffsetMatrix[this bone]

tempVertex += (vertex * boneMatrix) * weight[this bone on this vertex]

tempVertex /= total weight

final vertex position = projection Matrix * view matrix * world matrix * tempVertex

So, the skinned mesh is not being rendered correctly and i am not being able to spot the problem but i know the problem comes from the matrices. The weights and bone influences are all right. Any1 can help please?

### Show differencesHistory of post edits

### #Actualprincezahee

Posted 16 January 2013 - 10:53 PM

### #7princezahee

Posted 16 January 2013 - 09:47 PM

I have some problems with skinning. So, here are the steps i have done to perform skinning.

Export:

- When exported, all vertices are already in the reference pose.

- All bone transformations are absolute transformation. (Not relative to parent)

- bone offset matrix = inverse (bone transform matrix)

- bone matrix = bone matrix * inverse (parent bone matrix)

CPU:

- bone.transformMatrix = bone matrix (as exported)

- Loop through each bone

bone.absoluteMatrix = bone.transformMatrix * parentBone.absoluteMatrix

- Send bone.absoluteMatrix as the bone matrix to the GPU

- Send bone.offsetMatrix (as exported) as the bone offset matrix to the GPU

GPU:

for each vertex

vec4 tempVertex = [0, 0, 0, 0]

for each bone influencing this vertex

boneMatrix = boneMatrix[this bone] * boneOffsetMatrix[this bone]

tempVertex += (vertex * boneMatrix) * weight[this bone on this vertex]

tempVertex /= total weight

final vertex position = projection Matrix * view matrix * world matrix * tempVertex

So, the skinned mesh is not being rendered correctly and i am not being able to spot the problem but i know the problem comes from the matrices. The weights and bone influences are all right. Any1 can help please?

Export:

- When exported, all vertices are already in the reference pose.

- All bone transformations are absolute transformation. (Not relative to parent)

- bone offset matrix = inverse (bone transform matrix)

- bone matrix = bone matrix * inverse (parent bone matrix)

CPU:

- bone.transformMatrix = bone matrix (as exported)

- Loop through each bone

bone.absoluteMatrix = bone.transformMatrix * parentBone.absoluteMatrix

- Send bone.absoluteMatrix as the bone matrix to the GPU

- Send bone.offsetMatrix (as exported) as the bone offset matrix to the GPU

GPU:

for each vertex

vec4 tempVertex = [0, 0, 0, 0]

for each bone influencing this vertex

boneMatrix = boneMatrix[this bone] * boneOffsetMatrix[this bone]

tempVertex += (vertex * boneMatrix) * weight[this bone on this vertex]

tempVertex /= total weight

final vertex position = projection Matrix * view matrix * world matrix * tempVertex

So, the skinned mesh is not being rendered correctly and i am not being able to spot the problem but i know the problem comes from the matrices. The weights and bone influences are all right. Any1 can help please?

### #6princezahee

Posted 16 January 2013 - 09:45 PM

I have some problems with skinning. So, here are the steps i have done to perform skinning.

Export:

- When exported, all vertices are already in the reference pose.

- All bone transformations are absolute transformation. (Not relative to parent)

- bone offset matrix = inverse (bone transform matrix)

- bone matrix = bone matrix * inverse (parent bone matrix)

CPU:

- bone.transformMatrix = bone matrix (as exported)

- Loop through each bone

bone.absoluteMatrix = bone.transformMatrix * parentBone.absoluteMatrix

- Send bone.absoluteMatrix as the bone matrix to the GPU

GPU:

for each vertex

vec4 tempVertex = [0, 0, 0, 0]

for each bone influencing this vertex

boneMatrix = boneMatrix[this bone] * boneOffsetMatrix[this bone]

tempVertex += (vertex * boneMatrix) * weight[this bone on this vertex]

tempVertex /= total weight

final vertex position = projection Matrix * view matrix * world matrix * tempVertex

So, the skinned mesh is not being rendered correctly and i am not being able to spot the problem but i know the problem comes from the matrices. The weights and bone influences are all right. Any1 can help please?

Export:

- When exported, all vertices are already in the reference pose.

- All bone transformations are absolute transformation. (Not relative to parent)

- bone offset matrix = inverse (bone transform matrix)

- bone matrix = bone matrix * inverse (parent bone matrix)

CPU:

- bone.transformMatrix = bone matrix (as exported)

- Loop through each bone

bone.absoluteMatrix = bone.transformMatrix * parentBone.absoluteMatrix

- Send bone.absoluteMatrix as the bone matrix to the GPU

GPU:

for each vertex

vec4 tempVertex = [0, 0, 0, 0]

for each bone influencing this vertex

boneMatrix = boneMatrix[this bone] * boneOffsetMatrix[this bone]

tempVertex += (vertex * boneMatrix) * weight[this bone on this vertex]

tempVertex /= total weight

final vertex position = projection Matrix * view matrix * world matrix * tempVertex

So, the skinned mesh is not being rendered correctly and i am not being able to spot the problem but i know the problem comes from the matrices. The weights and bone influences are all right. Any1 can help please?

### #5princezahee

Posted 16 January 2013 - 09:43 PM

I have some problems with skinning. So, here are the steps i have done to perform skinning.

Export:

- When exported, all vertices are already in the reference pose.

- All bone transformations are absolute transformation. (Not relative to parent)

- bone offset matrix = inverse (bone transform matrix)

- bone matrix = bone matrix * inverse (parent bone matrix)

CPU:

- Loop through each bone

bone.absoluteMatrix = bone.transformMatrix * parentBone.absoluteMatrix

- Send bone.absoluteMatrix as the bone matrix to the GPU

GPU:

for each vertex

vec4 tempVertex = [0, 0, 0, 0]

for each bone influencing this vertex

boneMatrix = boneMatrix[this bone] * boneOffsetMatrix[this bone]

tempVertex += (vertex * boneMatrix) * weight[this bone on this vertex]

tempVertex /= total weight

final vertex position = projection Matrix * view matrix * world matrix * tempVertex

So, the skinned mesh is not being rendered correctly and i am not being able to spot the problem but i know the problem comes from the matrices. The weights and bone influences are all right. Any1 can help please?

Export:

- When exported, all vertices are already in the reference pose.

- All bone transformations are absolute transformation. (Not relative to parent)

- bone offset matrix = inverse (bone transform matrix)

- bone matrix = bone matrix * inverse (parent bone matrix)

CPU:

- Loop through each bone

bone.absoluteMatrix = bone.transformMatrix * parentBone.absoluteMatrix

- Send bone.absoluteMatrix as the bone matrix to the GPU

GPU:

for each vertex

vec4 tempVertex = [0, 0, 0, 0]

for each bone influencing this vertex

boneMatrix = boneMatrix[this bone] * boneOffsetMatrix[this bone]

tempVertex += (vertex * boneMatrix) * weight[this bone on this vertex]

tempVertex /= total weight

final vertex position = projection Matrix * view matrix * world matrix * tempVertex

So, the skinned mesh is not being rendered correctly and i am not being able to spot the problem but i know the problem comes from the matrices. The weights and bone influences are all right. Any1 can help please?

### #4princezahee

Posted 16 January 2013 - 09:42 PM

I have some problems with skinning. So, here are the steps i have done to perform skinning.

Export:

- When exported, all vertices are already in the reference pose.

- All bone transformations are absolute transformation. (Not relative to parent)

- bone offset matrix = inverse (bone transform matrix)

- bone matrix = bone matrix * inverse (parent bone matrix)

CPU:

- Loop through each frame

frame.absoluteMatrix = frame.transformMatrix * parentFrame.absoluteMatrix

- Send frame.absoluteMatrix as the bone matrix to the GPU

GPU:

for each vertex

vec4 tempVertex = [0, 0, 0, 0]

for each bone influencing this vertex

boneMatrix = boneMatrix[this bone] * boneOffsetMatrix[this bone]

tempVertex += (vertex * boneMatrix) * weight[this bone on this vertex]

tempVertex /= total weight

final vertex position = projection Matrix * view matrix * world matrix * tempVertex

So, the skinned mesh is not being rendered correctly and i am not being able to spot the problem but i know the problem comes from the matrices. The weights and bone influences are all right. Any1 can help please?

Export:

- When exported, all vertices are already in the reference pose.

- All bone transformations are absolute transformation. (Not relative to parent)

- bone offset matrix = inverse (bone transform matrix)

- bone matrix = bone matrix * inverse (parent bone matrix)

CPU:

- Loop through each frame

frame.absoluteMatrix = frame.transformMatrix * parentFrame.absoluteMatrix

- Send frame.absoluteMatrix as the bone matrix to the GPU

GPU:

for each vertex

vec4 tempVertex = [0, 0, 0, 0]

for each bone influencing this vertex

boneMatrix = boneMatrix[this bone] * boneOffsetMatrix[this bone]

tempVertex += (vertex * boneMatrix) * weight[this bone on this vertex]

tempVertex /= total weight

final vertex position = projection Matrix * view matrix * world matrix * tempVertex

So, the skinned mesh is not being rendered correctly and i am not being able to spot the problem but i know the problem comes from the matrices. The weights and bone influences are all right. Any1 can help please?

### #3princezahee

Posted 16 January 2013 - 09:38 PM

I have some problems with skinning. So, here are the steps i have done to perform skinning.

Export:

- When exported, all vertices are already in the reference pose.

- All bone transformations are absolute transformation. (Not relative to parent)

- bone offset matrix = inverse (bone transform matrix)

- bone matrix = bone matrix * inverse (parent bone matrix)

GPU:

for each vertex

vec4 tempVertex = [0, 0, 0, 0]

for each bone influencing this vertex

boneMatrix = boneMatrix[this bone] * boneOffsetMatrix[this bone]

tempVertex += (vertex * boneMatrix) * weight[this bone on this vertex]

tempVertex /= total weight

final vertex position = projection Matrix * view matrix * world matrix * tempVertex

So, the skinned mesh is not being rendered correctly and i am not being able to spot the problem but i know the problem comes from the matrices. The weights and bone influences are all right. Any1 can help please?

Export:

- When exported, all vertices are already in the reference pose.

- All bone transformations are absolute transformation. (Not relative to parent)

- bone offset matrix = inverse (bone transform matrix)

- bone matrix = bone matrix * inverse (parent bone matrix)

GPU:

for each vertex

vec4 tempVertex = [0, 0, 0, 0]

for each bone influencing this vertex

boneMatrix = boneMatrix[this bone] * boneOffsetMatrix[this bone]

tempVertex += (vertex * boneMatrix) * weight[this bone on this vertex]

tempVertex /= total weight

final vertex position = projection Matrix * view matrix * world matrix * tempVertex

So, the skinned mesh is not being rendered correctly and i am not being able to spot the problem but i know the problem comes from the matrices. The weights and bone influences are all right. Any1 can help please?