Make sure Mesh.isAnimated() works for hardware skinning

This commit is contained in:
shadowislord 2014-12-05 22:04:26 -05:00
parent a8c5e0f10d
commit 610ac6ae24

View File

@ -1349,9 +1349,17 @@ public class Mesh implements Savable, Cloneable {
return buffersList;
}
/**
* Determines if the mesh uses bone animation.
*
* A mesh uses bone animation if it has bone index / weight buffers
* such as {@link Type#BoneIndex} or {@link Type#HWBoneIndex}.
*
* @return true if the mesh uses bone animation, false otherwise
*/
public boolean isAnimated() {
//TODO this won't work once we have pose animations, we should find a better way to check for animation
return getBuffer(Type.BindPosePosition) != null && getBuffer(Type.BoneIndex) != null && getBuffer(Type.BoneWeight) != null;
return getBuffer(Type.BoneIndex) != null ||
getBuffer(Type.HWBoneIndex) != null;
}