private void CopyFloatStream(IMeshStream stream, BinaryWriter binaryWriter)
        {
            var reader = stream.GetReader <float>();

            foreach (var value in reader)
            {
                binaryWriter.Write(value);
            }
        }
        private void CopyStream(IMeshStream stream, BinaryWriter binaryWriter)
        {
            var reader = stream.GetReader <IEnumerable <float> >();

            foreach (var value in reader.SelectMany(_ => _))
            {
                binaryWriter.Write(value);
            }
        }
        private void CopyVec2Stream(IMeshStream stream, BinaryWriter binaryWriter)
        {
            var reader = stream.GetReader <Vector2>();

            foreach (var value in reader)
            {
                binaryWriter.Write(value.X);
                binaryWriter.Write(value.Y);
            }
        }
        private Source GetSource(StreamKey key, IMeshStream stream)
        {
            if (key.Key == Streams.Joints)
            {
                return(new Vec4USSource(stream));
            }
            switch (stream.MetaInfo.ComponentsPerSet)
            {
            case 1:
                return(new FloatSource(stream));

            case 2:
                return(new Vec2Source(stream));

            case 3:
                return(new Vec3Source(stream));

            case 4:
                return(new Vec4Source(stream));
            }

            throw new NotImplementedException();
        }
        public StreamAccessor(StreamKey key, IMeshStream meshStream, VertexElementFormat elementFormat)
        {
            _meshStream         = meshStream;
            Reader              = meshStream.GetReader <T>();
            VertexElementFormat = elementFormat;
            switch (key.Key)
            {
            case Streams.Position:
                VertexElementSemantic = VertexElementSemantic.Position;
                break;

            case Streams.Normal:
                VertexElementSemantic = VertexElementSemantic.Normal;
                break;

            case Streams.Color:
                VertexElementSemantic = VertexElementSemantic.Color;
                break;

            default:
                VertexElementSemantic = VertexElementSemantic.TextureCoordinate;
                break;
            }
        }
Esempio n. 6
0
 public Float2StreamAccessor(StreamKey key, IMeshStream meshStream) : base(key, meshStream, VertexElementFormat.Float2)
 {
 }
 public BoxingtMeshStreamCopier(IMeshStream source, IMeshStream destination)
 {
     _source      = source;
     _destination = destination;
 }
 public Vec4USSource(IMeshStream data) : base(data)
 {
 }
 public FloatSource(IMeshStream data) : base(data)
 {
 }