[How 2] DirectX in Visual Basic Initialisieren

[ Nach unten  |  Zum letzten Beitrag  |  Thema abonnieren  |  Neueste Beiträge zuerst ]


CranKSoftware
Administrator

29, Männlich

  Sehr aktiv

Admin

Beiträge: 23

[How 2] DirectX in Visual Basic Initialisieren

von CranKSoftware am 28.04.2012 17:27

Hi! In diesem kleinen How-2 zeige ich euch, wie ihr DirectX 9 in Visual Basic Initialisiert.

Als erstes braucht ihr das DirectX 9 SDK, das ihr hier Downloaden könnt:
http://www.microsoft.com/en-us/download/details.aspx?id=21416 [228 MB]

Schritt 1: Neues VisualBasic-Projekt erstellen
Öffnet Visual Basic, erstellt ein Neues Projekt und wählt "Windows Forms".

Schritt 2: Verweise festlegen
Um DirectX 9 nutzen zu können, müsst ihr zuerst einige Verweise festlegen.
Klickt dazu auf Projekt -> Verweis hinzufügen -> .NET  und fügt folgende Verweise hinzu:

Microsoft.DirectX.DirectX
Microsoft.DirectX.Direct3D
Microsoft.DirectX.Direct3DX

Schritt 3: Prozessorarchitektur festlegen
Damit alles richtig funktioniert, müsst ihr noch eure Prozessorarchitektur angeben.
Ihr findet die Prozessorarchitektur folgendermaßen heraus:
Startmenü -> Rechtsklick auf Computer bzw. Arbeitsplatz -> Eigenschaften  

Schritt 4: Variablen festlegen
Zu Anfang des Projekts müssen noch einige Imports-Anweisungen und Variablen festgelegt werden.

Imports-Anweisungen:

Imports Microsoft
Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D
Imports System.ComponentModel 

Variablen (Direkt unter Public Class Form1):

Public Dev As Device 'Erstellt eine Variable für ein DirectX-Gerät
Public Parameter As PresentParameters 'Parameter für das DirectX-Gerät
WithEvents BackgroundWorker1 As New BackgroundWorker

Schritt 5: DirectX Initialisieren
Jetzt brauchen wir eine neue Sub, die DirectX 9 Initialisiert.

Public Sub initialsieren()
Parameter = New PresentParameters
Parameter.Windowed = True ' Fenstermodus aktivieren
Parameter.SwapEffect = SwapEffect.Discard 'SwapEffect
Parameter.EnableAutoDepthStencil = True ' Maske für Autotiefe
Parameter.AutoDepthStencilFormat = DepthFormat.D16 ' Maskenformat
Dev = New Device(0, DeviceType.Hardware, Me.Handle, _
CreateFlags.SoftwareVertexProcessing, _
Parameter) ' Form1 ist der Besitzer
End Sub

Schritt 6: Background Worker konfigurieren
Nun konfigurieren wir den Background Worker wie folgt:

Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, _
ByVal e As System.ComponentModel.DoWorkEventArgs) _
Handles BackgroundWorker1.DoWork
While True
Dev.Clear(ClearFlags.Target Or ClearFlags.ZBuffer, _
Color.Yellow, 1, 0) ' Einen gelben Hintergrund zeichnen
Dev.Present() ' Darstellen (Sonst funktioniert nichts (;)
End While
End Sub

Schritt 7: Alles zum laufen bringen
Als letztes schreiben wir noch folgendes in die Private Sub Form1_Load:

initialsieren()
BackgroundWorker1.RunWorkerAsync()

So... Das war´s auch schon (;
Viel Spaß damit! 

Option Explicit On
Option Infer On

Antworten Zuletzt bearbeitet am 28.04.2012 17:33.

« zurück zum Forum