   [MDX] First program trouble
  Hello, I have just begun delving into MDX, Now I want to render a model in the center of the screen and try to rotate around it to get a grip of 3d coordinates. But I have a problem, I can't get the damn model to render, or well it is being rendered but I cant see it :)I have struggled with setting up my field of view and using look at in a good way, but I cant get it to work. It is surely really easy but I would apprishiate some help.Here is the relevant code:public partial class Form1 : Form    {   Device device = null;   Mesh dolphin = null;   Material[] dolphin_materials = null;   Texture[] dolphin_textures = null;   public Form1()   {  InitializeComponent();  InitializeGraphics();  this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque, true);  this.Size = new Size(800, 600);  LoadMesh("dolphin.x");  //MessageBox.Show(dolphin.NumberFaces.ToString());   }   private void InitializeGraphics()   {  PresentParameters flags = new PresentParameters();  flags.Windowed = true;  flags.SwapEffect = SwapEffect.Discard;  device = new Device(0, DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing, flags);  device.DeviceReset += new EventHandler(device_DeviceReset);  device.RenderState.Lighting = false;  device.RenderState.CullMode = Cull.None;  /*device.Lights[0].Type = LightType.Directional;  device.Lights[0].Position = new Vector3();  device.Lights[0].Diffuse = Color.White;  //device.Lights[0].Direction = new Vector3(0, 0, 0);  device.Lights[0].Attenuation0 = 0.2f;  device.Lights[0].Range = 10000f;  device.Lights[0].Enabled = true;*/  SetupCamera();   }   void device_DeviceReset(object sender, EventArgs e)   {  // Do something...   }   protected override void OnPaint(PaintEventArgs e)   {  device.Clear(ClearFlags.Target, Color.CornflowerBlue, 0, 0);  device.BeginScene();  DrawMesh();  device.EndScene();  device.Present();  this.Invalidate();   }   private void SetupCamera()   {  device.Transform.World = Matrix.PerspectiveFovLH((float)Math.PI / 4, this.Width / this.Height, 1f, 10000f);  device.Transform.View = Matrix.LookAtLH(new Vector3(0, 0, 500f), new Vector3(), new Vector3(0, 1, 0));   }   private void LoadMesh(string file)   {  ExtendedMaterial[] mtrl = null;  // Load the model  dolphin = Mesh.FromFile(file, MeshFlags.Managed, device, out mtrl);  // Store the materials  if (mtrl != null && mtrl.Length > 0)  { dolphin_materials = new Material[mtrl.Length]; dolphin_textures = new Texture[mtrl.Length]; for (int i = 0; i < mtrl.Length; i++) {//MessageBox.Show("Material " +  (i+1) + " Loaded.");dolphin_materials = mtrl.Material3D;if (mtrl.TextureFilename != null && mtrl.TextureFilename != string.Empty){   // MessageBox.Show("Texture " + (i + 1) + " Loaded.");    // Load the textrure    dolphin_textures = TextureLoader.FromFile(device, mtrl.TextureFilename);}if ((dolphin.VertexFormat & VertexFormats.Normal) != VertexFormats.Normal){    Mesh tmp = dolphin.Clone(dolphin.Options.Value, dolphin.VertexFormat | VertexFormats.Normal, device);    tmp.ComputeNormals();    dolphin.Dispose();    dolphin = tmp;    tmp.Dispose();} }  }   }   private void DrawMesh()   {  for (int i = 0; i < dolphin_materials.Length; i++)  { device.Material = dolphin_materials; device.SetTexture(0, dolphin_textures); dolphin.DrawSubset(i);  }   }    }I guess it is a bit of code, but hopefully someone can help me get the dolphin to display in the center of the screen so I can begin playing around and figuring out 3d coordinates.Thanks.   
  1) You have no Z buffer2) You should be rendering as fast as possible(use a "game loop", not the paint event)3) device.Transform.World = Matrix.PerspectiveFovLH. Yeah this'll mess things up, try using device.Transform.Projection instead.4) Your Z far value in PerspectiveFovLH might be too far, mine usually starts cutting the scene up if I push it past 4000. Try 0.1f for Z near and 1000.0f for Z far. If the mesh is really big use scaling.5) I've never dealt with .X files but the statement "dolphin = tmp; tmp.Dispose();" seems strange.6) Are your sure dolphin_materials.Length is over 0?   