ECG VI-1
In SharpDevelop ein DirectX-Projekt erzeugen: Es entsteht ein Rahmenprogramm, in dem bis hin zur Animation alles vorverdrahtet ist. Es wird nur noch nichts gezeichnet.
// Attribut ergänzen: private VertexBuffer vb; // zur Initialisierung: vb = new VertexBuffer(typeof(CustomVertex.PositionColored), 6, device, Usage.WriteOnly, 0, Pool.Managed); CustomVertex.PositionColored[] v = (CustomVertex.PositionColored[]) vb.Lock(0, 0); v[0] = new CustomVertex.PositionColored(0.5f, -0.5f, 0.0f, Color.Black.ToArgb()); v[1] = new CustomVertex.PositionColored(0.0f, 1.0f, 0.0f, Color.Red.ToArgb()); v[2] = new CustomVertex.PositionColored(-0.5f, 0.2f, 0.0f, Color.Green.ToArgb()); v[3] = new CustomVertex.PositionColored(0.7f, -0.6f, 0.0f, Color.Beige.ToArgb()); v[4] = new CustomVertex.PositionColored(0.8f, 0.5f, 0.0f, Color.Yellow.ToArgb()); v[5] = new CustomVertex.PositionColored(0.9f, 0.8f, 0.0f, Color.Black.ToArgb()); vb.Unlock();
device.BeginScene(); device.SetStreamSource(0, vb, 0); device.VertexFormat = CustomVertex.PositionColored.Format; device.RenderState.Lighting = false; device.RenderState.CullMode = Cull.None; device.DrawPrimitives(PrimitiveType.TriangleList, 0, 2); device.EndScene();
vb.Dispose();