LSLib.Granny.Model.Bone.CalculateInverseWorldTransform C# (CSharp) Method

CalculateInverseWorldTransform() public method

public CalculateInverseWorldTransform ( List bones ) : Matrix4
bones List
return Matrix4
        public Matrix4 CalculateInverseWorldTransform(List<Bone> bones)
        {
            var iwt = Matrix4.Identity;
            var currentBone = this;
            while (true)
            {
                var untranslated = currentBone.Transform.ToMatrix4();
                iwt = iwt * untranslated;
                if (currentBone.ParentIndex == -1) break;
                currentBone = bones[currentBone.ParentIndex];
            }

            return iwt.Inverted();
        }