Пример #1
0
        public static void ExportMesh(string path, CLMSH meshOject)
        {
            FileStream   fileStream = new FileStream(path, FileMode.OpenOrCreate);
            BinaryWriter writer     = new BinaryWriter(fileStream);

            writer.Write((byte)0x0C);
            writer.Write((byte)0xE1);

            writer.Write(meshOject.Dimensions.x);
            writer.Write(meshOject.Dimensions.y);
            writer.Write(meshOject.Dimensions.z);

            writer.Write(meshOject.Vertices);
            writer.Write(meshOject.Indices);

            for (int i = 0; i < meshOject.Vertices; i++)
            {
                writer.Write(meshOject.VertexBuffer[i].pos.x);
                writer.Write(meshOject.VertexBuffer[i].pos.y);
                writer.Write(meshOject.VertexBuffer[i].pos.z);

                writer.Write(meshOject.VertexBuffer[i].uv.x);
                writer.Write(meshOject.VertexBuffer[i].uv.y);

                writer.Write(meshOject.VertexBuffer[i].norm.x);
                writer.Write(meshOject.VertexBuffer[i].norm.y);
                writer.Write(meshOject.VertexBuffer[i].norm.z);
            }

            for (uint i = 0; i < meshOject.Indices; i++)
            {
                writer.Write(meshOject.IndexBuffer[i]);
            }

            writer.Close();
            fileStream.Close();
        }
Пример #2
0
        private void ConvertButton_Click(object sender, RoutedEventArgs e)
        {
            string mshFile = System.IO.Path.ChangeExtension(filePath, "clmsh");

            Progress.IsEnabled = true;
            StatusBlock.Text  += "\r\n";
            StatusBlock.Text  += "\r\nLoading obj-file";
            ObjObject obj = ObjFileHandler.LoadObjFromText(File.ReadAllLines(filePath));

            StatusBlock.Text += "\r\nObject loaded!";
            StatusBlock.Text += "\r\nConverting object to CelestialMesh!";
            Progress.Value   += 25;
            CLMSH mesh = CLMSHLoader.ConvertOBJ(obj);

            StatusBlock.Text += "\r\nObject converted!";
            StatusBlock.Text += "\r\nSaving file to:";
            StatusBlock.Text += "\r\n" + mshFile;
            Progress.Value   += 50;
            CLMSHFileHandler.ExportMesh(mshFile, mesh);
            StatusBlock.Text       += "\r\n";
            StatusBlock.Text       += "\r\n!!File Converted!!";
            Progress.Value         += 25;
            ConvertButton.IsEnabled = false;
        }