public VertexBufferColumns WithTransform(Transforms.IGeometryTransform transform)
        {
            var clone = new VertexBufferColumns(this);

            clone._ApplyTransform(transform);
            return(clone);
        }
        public VertexBufferColumns WithTransform(Transforms.IGeometryTransform transform)
        {
            Guard.NotNull(transform, nameof(transform));

            var clone = new VertexBufferColumns(this);

            clone._ApplyTransform(transform);
            return(clone);
        }
        public VertexBufferColumns AddMorphTarget()
        {
            if (_MorphTargets == null)
            {
                _MorphTargets = new List <VertexBufferColumns>();
            }
            var mt = new VertexBufferColumns();

            _MorphTargets.Add(mt);

            return(mt);
        }
        public VertexBufferColumns(VertexBufferColumns other)
        {
            this.Positions  = other.Positions;
            this.Normals    = other.Normals;
            this.Tangents   = other.Tangents;
            this.Colors0    = other.Colors0;
            this.Colors1    = other.Colors1;
            this.TexCoords0 = other.TexCoords0;
            this.TexCoords1 = other.TexCoords1;
            this.TexCoords2 = other.TexCoords2;
            this.TexCoords3 = other.TexCoords3;
            this.Joints0    = other.Joints0;
            this.Joints1    = other.Joints1;
            this.Weights0   = other.Weights0;
            this.Weights1   = other.Weights1;

            this._MorphTargets = other._MorphTargets;
        }
 public _NormalTangentAgent(VertexBufferColumns vertices, IEnumerable <(int A, int B, int C)> indices)