Is there anyone who implemented gpu skinning system in jme 'BoneAnimation' system.
I know OgreLoader and some other tools have this features, but jME don't.
OgreLoader's animation system is different from jME BoneAnimation system and can't be used directly.
I want to implement gpu skinning in jme BoneAnimation system.
If it is done already, please lead me the way.
Or any good reference links to gpu skinning will be appreciated.
Thanks always!
In my tests I found that GPU skinning not very much efficient compared to CPU skinning, even when you have 1000's of models on screen…
That’s bad news if it is also true to my case. :’(
Then I wanna test gpu, cpu, and gpu + cpu mix.
I tried some performance tuning tips, but it’s not satisfactory.
By the way, I found that JointController seems to work the same as BoneAnimation.
And it’s data structure is more appropriate for gpu skinning.
Does JointController have the same functionality to BoneAnimation?
Which is more preferable or mostly used?
Why does jme have these two class?
Is there any detailed explanation post about vertex skinning?
I need to implement it but I can't understand how it works.
There are BindMatrix of SkinNode, BindMatrix of Bone, Tranformation matrix of Bones etc…
Any help would be appreciated.
mulova said:
Is there any detailed explanation post about vertex skinning?
I need to implement it but I can't understand how it works.
There are BindMatrix of SkinNode, BindMatrix of Bone, Tranformation matrix of Bones etc...
Any help would be appreciated.
Try searching online? You can also try looking at the OgreLoader gpu skinning code and adapting it into the jME animation system.
By the way, my earlier post about GPU skinning being just as efficient is somewhat uninformed; GPU skinning is useful because it allows the CPU concern itself with other tasks. Other than that, I was testing the code on a fast cpu (dual core 2.2 ghz) but a slow gpu (GeForce 8400M, 15 stream processors) which could explain the odd similarity in performance.
Momoko_Fan said:
Try searching online? You can also try looking at the OgreLoader gpu skinning code and adapting it into the jME animation system.
By the way, my earlier post about GPU skinning being just as efficient is somewhat uninformed; GPU skinning is useful because it allows the CPU concern itself with other tasks. Other than that, I was testing the code on a fast cpu (dual core 2.2 ghz) but a slow gpu (GeForce 8400M, 15 stream processors) which could explain the odd similarity in performance.
Always thank you for your kind reply.
Already I'm referencing OgreLoader. :)
Your implementation works well, but my example doesn't.
I think I lost the way because I don't understand the principle how skinning works.
Okay, maybe some more investigation and comparison is needed.
Anyway, NVidia's skinning example shows amazing performance.
When it is just gpu skinned, the fps was 200.
but with DisplayList, it was 2000.
Does OgreLoader's gpu skinning use DisplayList?
And one more! Please commit this.(Matrix array uniform)
http://www.jmonkeyengine.com/jmeforum/index.php?topic=9654.0
If you are not in the circumstance to commit, may I have the honor?