Пример #1
0
        public void WriteToFile(string filename, IMesh mesh)
        {
            MeshData = mesh.MeshData;
            AnimData = mesh.AnimationData;

            using (var writer = new BinaryBlockWriter(filename, Encoding.Default))
            {
                writer.Write((byte)VerMajor);
                writer.Write((byte)VerMinor);
                writer.ForceFlush();

                //Header
                WriteHeader(writer);


                if (MeshData != null)
                {
                    //Mesh data
                    WritePositonData(writer);
                    WriteIndexData(writer);
                    WriteNormalData(writer);
                    WriteTextcoordData(writer);
                }

                //Animation Data
                if (AnimData.HasAnimations)
                {
                    WriteBlendIndices(writer);
                    WriteBlendWeights(writer);
                    WriteAnimationClips(writer);
                    WriteSkeletonData(writer);
                }

                writer.Write((byte)MeshDataType.END);
                writer.ForceFlush();
            }
        }