Example #1
0
        private void convertToMT5ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            m_model         = new MT5(m_model);
            m_primitiveType = OpenTK.Graphics.OpenGL4.PrimitiveType.TriangleStrip;
            view3D.SetModel(m_model, m_primitiveType);
            m_modelType = ModelType.MT5;

            treeView_MeshNodes.Nodes.Clear();
            listBox_Textures.Items.Clear();

            m_model.RootNode.GenerateTree(null);
            TreeNode treeNode = new TreeNode("MT5");

            GenerateTree(treeNode, m_model.RootNode);
            treeView_MeshNodes.Nodes.Add(treeNode);

            foreach (Texture texture in m_model.Textures)
            {
                listBox_Textures.Items.Add(texture);
            }
        }
Example #2
0
 public void Draw(OpenTK.Graphics.OpenGL4.PrimitiveType type) => vao.draw_elements(type, indices.Count, OpenTK.Graphics.OpenGL4.DrawElementsType.UnsignedInt);
Example #3
0
 public void Render(OpenTK.Graphics.OpenGL4.PrimitiveType ptype)
 {
     vao.DrawElements(ptype, indices.Count, OpenTK.Graphics.OpenGL4.DrawElementsType.UnsignedInt);
 }
Example #4
0
 public MeshRenderer(Mesh m, Material mat, OpenTK.Graphics.OpenGL4.PrimitiveType ptype)
 {
     mesh          = m;
     material      = mat;
     primitiveType = ptype;
 }
Example #5
0
 public MeshRenderer()
 {
     mesh          = Assets.getMesh("cube");
     material      = PBRMaterial.Default;
     primitiveType = OpenTK.Graphics.OpenGL4.PrimitiveType.Triangles;
 }
Example #6
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "Supported files|*.mt5;*.mt7;*.mapm;*.chrm;*.prop;*.fbx;*.obj";

            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                string extension = Path.GetExtension(openFileDialog.FileName);

                byte[] buffer = new byte[4];
                using (FileStream stream = new FileStream(openFileDialog.FileName, FileMode.Open))
                {
                    stream.Read(buffer, 0, 4);
                    stream.Seek(0, SeekOrigin.Begin);
                }

                if (MT5.IsValid(buffer))
                {
                    m_model         = new MT5(openFileDialog.FileName);
                    m_primitiveType = OpenTK.Graphics.OpenGL4.PrimitiveType.TriangleStrip;
                    view3D.SetTextures(m_model.Textures);
                    view3D.SetModel(m_model, m_primitiveType);
                    m_modelType = ModelType.MT5;
                }
                else if (MT7.IsValid(buffer))
                {
                    m_model         = new MT7(openFileDialog.FileName);
                    m_primitiveType = OpenTK.Graphics.OpenGL4.PrimitiveType.Triangles;
                    view3D.SetTextures(m_model.Textures);
                    view3D.SetModel(m_model, m_primitiveType);
                    m_modelType = ModelType.MT7;
                }
                else if (FBXD3T.IsValid(buffer))
                {
                    m_model     = new FBXD3T(openFileDialog.FileName);
                    m_modelType = ModelType.FBXD3T;
                }
                else if (extension == ".obj")
                {
                    m_model         = new OBJ(openFileDialog.FileName);
                    m_primitiveType = OpenTK.Graphics.OpenGL4.PrimitiveType.Triangles;
                    view3D.SetTextures(m_model.Textures);
                    view3D.SetModel(m_model, m_primitiveType);
                }
                else
                {
                    Console.WriteLine("Invalid file format!");
                }

                treeView_MeshNodes.Nodes.Clear();
                listBox_Textures.Items.Clear();

                m_model.RootNode.GenerateTree(null);
                TreeNode treeNode = new TreeNode(openFileDialog.FileName);
                GenerateTree(treeNode, m_model.RootNode);
                treeView_MeshNodes.Nodes.Add(treeNode);

                foreach (Texture texture in m_model.Textures)
                {
                    if (texture == null)
                    {
                        continue;
                    }
                    listBox_Textures.Items.Add(texture);
                }
            }

            if (m_modelType == ModelType.MT5)
            {
                mt5Control.Enabled = true;
                mt7Control.Enabled = false;
            }
            if (m_modelType == ModelType.MT7)
            {
                mt5Control.Enabled = false;
                mt7Control.Enabled = true;
            }
        }