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); } }
public void Draw(OpenTK.Graphics.OpenGL4.PrimitiveType type) => vao.draw_elements(type, indices.Count, OpenTK.Graphics.OpenGL4.DrawElementsType.UnsignedInt);
public void Render(OpenTK.Graphics.OpenGL4.PrimitiveType ptype) { vao.DrawElements(ptype, indices.Count, OpenTK.Graphics.OpenGL4.DrawElementsType.UnsignedInt); }
public MeshRenderer(Mesh m, Material mat, OpenTK.Graphics.OpenGL4.PrimitiveType ptype) { mesh = m; material = mat; primitiveType = ptype; }
public MeshRenderer() { mesh = Assets.getMesh("cube"); material = PBRMaterial.Default; primitiveType = OpenTK.Graphics.OpenGL4.PrimitiveType.Triangles; }
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; } }