[ bokiko @ 17.11.2006. 13:06 ] @
Kreirao sam Windows formu i zelim da uz pomoc Direct3D prikazem jedan trougao na obojenoj formi. Kod je sledeci: Code: public class Form1 : System.Windows.Forms.Form { private Device device = null; private System.ComponentModel.Container components = null; public Form1() { InitializeComponent(); this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque, true); } //Ovu metodu poziva nova forma u Main-u public void InitializeGraphics() { PresentParameters presentParam = new PresentParameters(); presentParam.Windowed = true; presentParam.SwapEffect = SwapEffect.Discard; device = new Device(0,DeviceType.Hardware,this,CreateFlags.SoftwareVertexProcessing,presentParam); } [STAThread] static void Main() { using (Form1 frm = new Form1()) { frm.Show(); frm.InitializeGraphics(); Application.Run(frm); } } protected override void OnPaint(PaintEventArgs e) { device.Clear(ClearFlags.Target,Color.CornflowerBlue,1,0); device.Present(); CustomVertex.PositionColored[] verts = new CustomVertex.PositionColored[3]; verts[0].SetPosition(new Vector3(0,1,1)); verts[0].Color = Color.Aqua.ToArgb(); verts[1].SetPosition(new Vector3(-1,-1,1)); verts[1].Color = Color.Black.ToArgb(); verts[2].SetPosition(new Vector3(1,-1,1)); verts[2].Color = Color.Purple.ToArgb(); device.BeginScene(); device.VertexFormat = CustomVertex.PositionColored.Format; device.DrawUserPrimitives(PrimitiveType.TriangleList,1,verts); device.EndScene(); this.Invalidate(); } } Kada pokrenem formu prokaze mi samo obojenu pozadinu. Gde gresim??? |