Example #1
0
        private void OpenFile(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                //  CleanUp();

                checkedListBox1.Items.Clear();
                models.Clear();
                Scene.Instance.RenderObjects.Clear();

                ResourcePackageStream resourcePackageStream = new ResourcePackageStream(openFileDialog1.FileName);
                Text = resourcePackageStream.fileName;

                string[] files = Directory.GetFiles(@"./temp/", "*.obj");
                foreach (string path in files)
                {
                    AssimpModel assimpModel  = MeshLoader.ImportMesh(path);
                    string      mainFileName = Path.GetFileNameWithoutExtension(openFileDialog1.FileName);
                    string      objFileName  = Path.GetFileNameWithoutExtension(path);
                    models.Add(string.Format("{0}_{1}", mainFileName, objFileName), assimpModel);
                    Scene.Instance.AddRenderObject(assimpModel);
                }

                checkedListBox1.Items.Clear();
                foreach (KeyValuePair <string, AssimpModel> pair in models)
                {
                    checkedListBox1.Items.Add(pair.Key);
                }

                for (int i = 0; i < checkedListBox1.Items.Count; i++)
                {
                    checkedListBox1.SetItemChecked(i, true);
                }

                //
                listBox1.Items.Clear();
                string[] images = Directory.GetFiles(@"./temp/", "*.dds");
                listBox1.Items.AddRange(images);
            }
        }