public static AffineTransform ToXna(this SharpGLTF.Transforms.AffineTransform xform) { if (xform.IsMatrix) { xform = xform.GetDecomposed(); } return(new AffineTransform(xform.Scale, xform.Rotation, xform.Translation)); }
public TRANSFORM GetLocalTransform(int index) { // var m = GetAccessor("TRANSFORM")?.AsMatrix4x4Array()?[index]; var s = GetAccessor("SCALE")?.AsVector3Array()?[index]; var r = GetAccessor("ROTATION")?.AsQuaternionArray()?[index]; var t = GetAccessor("TRANSLATION")?.AsVector3Array()?[index]; return(TRANSFORM.CreateFromAny(null, s, r, t)); }
internal InstancedDrawableTemplate(Schema2.Node node, Func <Schema2.Node, int> indexFunc) : base(node, indexFunc) { var instancing = node.GetGpuInstancing(); _Instances = new TRANSFORM[instancing.Count]; for (int i = 0; i < _Instances.Length; ++i) { _Instances[i] = instancing.GetLocalTransform(i); } }
public TRANSFORM GetLocalTransform(ReadOnlySpan <int> track, ReadOnlySpan <float> time, ReadOnlySpan <float> weight) { if (!_UseAnimatedTransforms) { return(_LocalTransform); } Span <TRANSFORM> xforms = stackalloc TRANSFORM[track.Length]; for (int i = 0; i < xforms.Length; ++i) { xforms[i] = GetLocalTransform(track[i], time[i]); } return(TRANSFORM.Blend(xforms, weight)); }
public TransformChainBuilder(NodeBuilder parent, TRANSFORM child) { _ParentTransform = parent; _ChildTransform = child; }
public TransformChainBuilder(TRANSFORM transform) { _ParentTransform = null; _ChildTransform = transform; }
internal FixedTransformer(Object content, NodeBuilder parentNode, TRANSFORM childTransform) : base(content) { _ParentNode = parentNode; _ChildTransform = childTransform; }
internal FixedTransformer(Object content, TRANSFORM transform) : base(content) { _ChildTransform = transform; }