Hi,
I would like to know how to make sure that a 3DS Max 2014 model has its animation performed on the GPU and not the CPU.
That’s about it. If you need more details to get what I mean, read on.
The model Onkba from Away3D dev branch examples has its animation ran on the CPU. I profiled it and basically 92% of the code execution time was spent in skeletonAnimator.morphGeometry. D’oh !
This is probably because this SkeletonAnimator method:
public function testGPUCompatibility(pass : MaterialPassBase) : void
{
// NOTE: I made sure _forceCPU was false and _jointsPerVertex equals 3
if (!_useCondensedIndices && (_forceCPU || _jointsPerVertex > 4 || pass.numUsedVertexConstants + _numJoints * 3 > 128)) {
_animationSet.cancelGPUCompatibility();
}
}
So I suppose the real culprit is Onkba, the model is not done “properly”.
Which led me to the question:
What do I need to pay attention to if I want animations of a 3DS Max 2014 model to run on the GPU ? Failing that, how can I make a model with an animation that is light on the CPU ?
Thanks for your help!