السلام عليكم
انا عندي كود لرسم مثلث والمشكله هي اني لما اشغل البرنامج ما يرسم المثلث فأرجوا المساعدة
طبعا الكود مكتوب بالديركت والفيجوال بيسك دوت نت
وشكرا
وههذا هو الكود
Imports System Imports System.Drawing Imports System.Windows.Forms Imports Microsoft.DirectX Imports Microsoft.DirectX.Direct3D Namespace VerticesTutorial Public Class Vertices Inherits Form Private device As device = Nothing Private vertexBuffer As vertexBuffer = Nothing Public Sub New() Me.ClientSize = New System.Drawing.Size(300, 300) Me.Text = "Direct3D Tutorial 2 - Vertices" End Sub Public Function InitializeGraphics() As Boolean Try Dim presentParams As PresentParameters = New PresentParameters() presentParams.Windowed = True presentParams.SwapEffect = SwapEffect.Discard device = New Device(0, DeviceType.Hardware, Me, CreateFlags.SoftwareVertexProcessing, presentParams) Me.OnCreateDevice(device, Nothing) Return True Catch generatedExceptionVariable0 As DirectXException Return False End Try End Function Public Sub OnCreateDevice(ByVal sender As Object, ByVal e As EventArgs) Dim dev As Device = CType(sender, Device) vertexBuffer = New VertexBuffer(GetType(CustomVertex.TransformedColored), 3, dev, 0, CustomVertex.TransformedColored.Format, Pool.Default) AddHandler vertexBuffer.Created, AddressOf Me.OnCreateVertexBuffer Me.OnCreateVertexBuffer(vertexBuffer, Nothing) End Sub Public Sub OnCreateVertexBuffer(ByVal sender As Object, ByVal e As EventArgs) Dim vb As VertexBuffer = CType(sender, VertexBuffer) Dim stm As GraphicsStream = vb.Lock(0, 0, 0) Dim verts(3) As CustomVertex.TransformedColored verts(0).X = 150 verts(0).Y = 50 verts(0).Z = 0.5F verts(0).Rhw = 1 verts(0).Color = System.Drawing.Color.Aqua.ToArgb verts(1).X = 250 verts(1).Y = 250 verts(1).Z = 0.5F verts(1).Rhw = 1 verts(1).Color = System.Drawing.Color.Brown.ToArgb verts(2).X = 50 verts(2).Y = 250 verts(2).Z = 0.5F verts(2).Rhw = 1 verts(2).Color = System.Drawing.Color.LightPink.ToArgb stm.Write(verts) vb.Unlock() End Sub Private Sub Render() If device Is Nothing Then Return End If device.Clear(ClearFlags.Target, System.Drawing.Color.Blue, 1.0F, 0) device.BeginScene() device.SetStreamSource(0, vertexBuffer, 0) device.VertexFormat = CustomVertex.TransformedColored.Format device.DrawPrimitives(PrimitiveType.TriangleList, 0, 1) device.EndScene() device.Present() End Sub Protected Overloads Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) Me.Render() End Sub Protected Overloads Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs) End Sub Shared Sub Main() ' Using Dim frm As Vertices = New Vertices() Try End If frm.Show() While frm.Created frm.Render() Application.DoEvents() End While Finally CType(frm, IDisposable).Dispose() End Try End Sub End Class End Namespace