public bool InitializeGraphics() { try { Microsoft.DirectX.Direct3D.PresentParameters presentParams = new Microsoft.DirectX.Direct3D.PresentParameters(); presentParams.Windowed = true; presentParams.SwapEffect = Microsoft.DirectX.Direct3D.SwapEffect.Discard; //TODO device = new Microsoft.DirectX.Direct3D.Device(0, Microsoft.DirectX.Direct3D.DeviceType.Hardware, this, Microsoft.DirectX.Direct3D.CreateFlags.SoftwareVertexProcessing, presentParams); Console.WriteLine("Device inizialisiert"); vb = new Microsoft.DirectX.Direct3D.VertexBuffer(typeof(Microsoft.DirectX.Direct3D.CustomVertex.TransformedColored), 6, this.device, 0, Microsoft.DirectX.Direct3D.CustomVertex.TransformedColored.Format, Microsoft.DirectX.Direct3D.Pool.Default); vb.Created += new System.EventHandler(this.OnCreateVertexBuffer); this.OnCreateVertexBuffer(vb, null); device.DeviceLost += new EventHandler(this.InvalidateDeviceObjects); device.DeviceReset += new EventHandler(this.restoreDeviceObjects); device.Disposing += new EventHandler(this.deleteDeviceObjects); device.DeviceResizing += new System.ComponentModel.CancelEventHandler(this.EnvironmentResizing); return(true); } catch (Microsoft.DirectX.DirectXException) { return(false); } }
public void OnCreateVertexBuffer(object sender, System.EventArgs e) { Microsoft.DirectX.Direct3D.VertexBuffer vb = (Microsoft.DirectX.Direct3D.VertexBuffer)sender; Microsoft.DirectX.GraphicsStream gs = vb.Lock(0, 0, 0); Microsoft.DirectX.Direct3D.CustomVertex.TransformedColored[] verts = new Microsoft.DirectX.Direct3D.CustomVertex.TransformedColored[6]; verts[0].X = 50; verts[0].Y = 50; verts[0].Z = 0.5f; verts[0].Rhw = 1; verts[0].Color = System.Drawing.Color.Red.ToArgb(); verts[1].X = 250; verts[1].Y = 50; verts[1].Z = 0.5f; verts[1].Rhw = 1; //verts[1].Color = System.Drawing.Color.Lime.ToArgb(); verts[2].X = 250; verts[2].Y = 50.1f; verts[2].Z = 0.5f; verts[2].Rhw = 1; //verts[2].Color = System.Drawing.Color.Red.ToArgb(); verts[3].X = 250; verts[3].Y = 50; verts[3].Z = 0.5f; verts[3].Rhw = 1; //verts[3].Color = System.Drawing.Color.Red.ToArgb(); verts[4].X = 250; verts[4].Y = 250; verts[4].Z = 0.5f; verts[4].Rhw = 1; //verts[4].Color = System.Drawing.Color.Red.ToArgb(); verts[5].X = 50; verts[5].Y = 250; verts[5].Z = 0.5f; verts[5].Rhw = 1; //verts[5].Color = System.Drawing.Color.Red.ToArgb(); gs.Write(verts); vb.Unlock(); }