Public Sub InitializeGraphics()
'设置参数
Dim presentParams As PresentParameters = New PresentParameters
presentParams.Windowed = True '窗口模式
presentParams.SwapEffect = SwapEffect.Discard '交换
'创建设备
device = New Device(0, DeviceType.Hardware, Me, CreateFlags.SoftwareVertexProcessing, presentParams)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
InitializeGraphics()
End Sub
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
device.Clear(ClearFlags.Target, System.Drawing.Color.CadetBlue, 1.0F, 0)
Dim verts(2) As CustomVertex.TransformedColored
verts(0).Position = New Vector4(Me.Width / 2.0F, 50.0F, 0.5F, 1.0F)
verts(0).Color = System.Drawing.Color.Aqua.ToArgb()
verts(1).Position = New Vector4(Me.Width - Me.Width / 5.0F, Me.Height - Me.Height / 5.0F, 0.5F, 1.0F)
verts(1).Color = System.Drawing.Color.Black.ToArgb()
verts(2).Position = New Vector4(Me.Width / 5.0F, Me.Height - Me.Height / 5.0F, 0.5F, 1.0F)
verts(2).Color = System.Drawing.Color.Purple.ToArgb()
device.BeginScene()
device.VertexFormat = CustomVertex.TransformedColored.Format
device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, verts)
device.EndScene()
device.Present()
Me.Invalidate()
End Sub
End Class