1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D
Public Class Form1
Dim device As Device
Dim present As New PresentParameters
Dim triangle(3) As CustomVertex.TransformedColored
Dim buff As VertexBuffer
Dim sens As Integer = 1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.Opaque, True)
Initialisation()
creationTriangle()
End Sub
Public Sub Initialisation()
present.Windowed = True
present.SwapEffect = SwapEffect.Discard
device = New Device(0, DeviceType.Hardware, Me, CreateFlags.SoftwareVertexProcessing, present)
End Sub
Public Sub creationTriangle()
triangle(0).Color = Color.Red.ToArgb
triangle(0).Position = New Vector4(100, 1, 0, 1)
triangle(1).Color = Color.Orange.ToArgb
triangle(1).Position = New Vector4(200, 0.866 * 200, 0, 1)
triangle(2).Color = Color.Yellow.ToArgb
triangle(2).Position = New Vector4(1, 0.866 * 200, 0, 1)
End Sub
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
device.RenderState.Lighting = False
device.RenderState.CullMode = Cull.None
device.Clear(ClearFlags.Target, Color.DarkBlue, 1.0, 0)
device.BeginScene()
device.Transform.World.RotateY(2) 'Rotations de 2radians par exemple
device.VertexFormat = CustomVertex.TransformedColored.Format
device.DrawUserPrimitives(PrimitiveType.TriangleList, 1, triangle)
device.EndScene()
device.Present()
Me.Invalidate()
End Sub
End Class |
Partager