#### Archived

This topic is now archived and is closed to further replies.

# Skinning with 5 bones per vertex

This topic is 6100 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hello I know how to handle bones for skinned meshes. Basicly, I creates a object in 3dsmax, then export it to a .x file. For rendering, I know how to use the Vertex Blend technique for handling the bones. Each bone represented by a matrix. Now, I have created an object in 3dsmax, that have vertex that are influenced by 5 bones. How can I render them? I ask, because I know that the maximum number of blended matrix is 4. I loaded the file in mview.exe, and I run correctly. How does it work? What should I do? Do I have to use vertex shader, or is there a simpler way? thanks

##### Share on other sites
Calculate the world position of the vertex yourself instead of using the hardware.

##### Share on other sites
But how can I do it with more then 4 world matrices?

##### Share on other sites

Calculate the world position of the vertex yourself (ie. using a software method).

Check out skinning and envelope animation articles at www.flipcode.com, www.gdconf.com, and siggraph papers

##### Share on other sites
This is from the DX8.1 SDK:

Two Matrix Blend: vBlend=V1W1+V2(1.0-W1)
Three Matrix Blend: vBlend=V1W1+V2W2+V3(1.0-(W1+W2))
...
Five Matrix Blend: (This I derived)vBlend=V1W1+V2W2+V3W3+V4W4+V5(1.0-(W1+W2+W3+W4))

Where vBlend is the output vertex and Vx is a vertex transformed by the corresponding world matrix WorldMatrixx. The Wx values are the corresponding weights. Blending weights range from 0.0 to 1.0, where a value of 0.0 means the vertex is not blended with that matrix and 1.0 means that the vertex is affected in full by the matrix. I''m not sure of this, at the moment i can''t think but you should be able to concatenate two of world matrix''s, apply the result to the vertex and add the corresponding weights. By doing this you get rid of a term and will be able to use hardware acceleration. You''ll have to work out the details of course.

-potential energy is easily made kinetic-

##### Share on other sites
quote:

I''m not sure of this, at the moment i can''t think but you should be able to concatenate two of world matrix''s, apply the result to the vertex and add the corresponding weights. By doing this you get rid of a term and will be able to use hardware acceleration. You''ll have to work out the details of course.

nah! that wont work.
just design your model so that you dont use more than 4 matrices per vertex.

if you HAVE to do it, you can still do it in hardware, you would just have to write your own vertex-shader.
jup.

--- foobar
We push more polygons before breakfast than most people do in a day

1. 1
Rutin
32
2. 2
3. 3
4. 4
5. 5

• 13
• 69
• 11
• 10
• 14
• ### Forum Statistics

• Total Topics
632967
• Total Posts
3009570
• ### Who's Online (See full list)

There are no registered users currently online

×