DX9 How much bones is supported for hardware skinning?
#1 Members - Reputation: 143
Posted 17 February 2013 - 05:15 PM
I don't know why but there is number 35 in my mind. Maybe I read somewhere in the past that 35 is the limit of bones which my mesh (in X-file) can have. Could anybody confirm that it is true? Or maybe I have some code example where there was constant variable set to max number 35 and that is why this number is in my mind...I don't remember. I am asking because I am at the beginning of definition bone hierarchy in Blender for my mesh and I would like to know what maximum number may I use, for example to simulate finger movements I need at least 10 bones, so if there is really 35 bones support from DirectX I cannot waste 10 bones for fingers, I will use just 2 bones for thumbs and 2 for the rest of fingers.
#3 Members - Reputation: 1124
Posted 17 February 2013 - 05:24 PM
I think there is a max of 256 vertex shader constants that you can set with ver. 3.0
So you can have 256 / 4 = 64 = number of 4x4 matrices
You could try to do/attach hands separately as you might later have different pixel shaders for skin and for clothing...
EDIT: I cant google concrete answer:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb172963%28v=vs.85%29.aspx
...
2. Equal to D3DCAPS9.MaxVertexShaderConst (at least 256 for vs_3_0).
...
I don't know what they mean by "at least", is that a guarantee minimum and can be more then this?
Edited by belfegor, 17 February 2013 - 05:40 PM.
#4 Members - Reputation: 3830
Posted 17 February 2013 - 06:20 PM
I think there is a max of 256 vertex shader constants that you can set with ver. 3.0
So you can have 256 / 4 = 64 = number of 4x4 matrices
You could try to do/attach hands separately as you might later have different pixel shaders for skin and for clothing...
EDIT: I cant google concrete answer:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb172963%28v=vs.85%29.aspx
...
2. Equal to D3DCAPS9.MaxVertexShaderConst (at least 256 for vs_3_0).
...
I don't know what they mean by "at least", is that a guarantee minimum and can be more then this?
It's a guaranteed minimum and it can be more than this but in practice it won't be, even on DX10+ class hardware. You'll also need to knock off a few for storing your MVP, any lighting or other constants, etc.
However, you only need a 4x3 (or 3x4 depending on your preference) matrix for skinning, so you get to have ~80 bones; a little bit better.
It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.
#5 Crossbones+ - Reputation: 5187
Posted 17 February 2013 - 08:17 PM
I don't know what they mean by "at least", is that a guarantee minimum and can be more then this?
Yes.
L. Spiro
Edited by L. Spiro, 18 February 2013 - 05:57 AM.
I spent most of my life learning the courage it takes to go out and get what I want. Now that I have it, I am not sure exactly what it is that I want. - L. Spiro 2013
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums






