Tipp 0410 Vollbild (Fullscreen Mode)
Autor/Einsender:
Datum:
  Alexander Csadek
21.08.2004
Entwicklungsumgebung:
DirectX-Version:
  VB 6
DirectX 8
Im Vollbild-Modus (Fullscreen Mode) bei DirectX 8 werden alle notwendigen Darstellungs-Parameter festgelegt. Dabei fließt die gewünschte Bildschirmauflösung mit ein. Danach werden die Darstellungs-Parameter der Funktion CreateDevice vom Direct3D8-Objekt übergeben, um einen entsprechenden 3DDevice zu erstellen.
Die Darstellungs-Parameter (present parameters) werden mit dem Typ D3DPRESENT_PARAMETERS festgelegt.
Für Vollbild sieht das beispielsweise so aus:
 
Dim d3dpp As D3DPRESENT_PARAMETERS

With d3dpp
  .Windowed = 0    '0=False, also Vollbild
  .SwapEffect = D3DSWAPEFFECT_COPY_VSYNC
   'gewünschte Bildschirmauflösung zB 800x600 16-bit Farben
  .BackBufferWidth = 800
  .BackBufferHeight = 600
  .BackBufferFormat = D3DFMT_R5G6B5
End With
 
Nun kann der 3DDevice erstellt werden:
 
CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Me.hWnd, _
          D3DCREATE_SOFTWARE_VERTEXPROCESSING, d3dpp)
 
Falls der 3DDevice nicht erstellt wurde, liegt es unter Umständen daran, dass die Grafikkarte die gewünschte Bildschirm-Auflösung nicht unterstützt. Im Tipp Adapter-Informationen auslesen könnt ihr sehen, wie die von der Grafikkarte unterstützten Bildschirmauflösungen (Display Mode) ausgelesen werden.
Es folgt nun der für diesen Tipp relevante Code...
 
Private Function Initialization(ByVal hWnd As Long) As Boolean
  On Error Resume Next

  'holen wir uns Zugriff auf Direct3D
  Set gD3D8 = gDX8.Direct3DCreate()
  If gD3D8 Is Nothing Then Exit Function

  'festlegen der Darstellungs-Parameter (present)
  Dim d3dpp As D3DPRESENT_PARAMETERS
  d3dpp.Windowed = 0      '0=False, also Vollbild
  d3dpp.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC

  'Display-Modus festlegen
  'z.B. 16-bit Farben und eine Auflösung von 800x600
  d3dpp.BackBufferWidth = 800
  d3dpp.BackBufferHeight = 600
  d3dpp.BackBufferFormat = D3DFMT_R5G6B5

  'Device erstellen
  'Verwendet wird der Standard-Adapter, also die primäre Anzeige
  'Falls ihr eine Grafikkarte mit mehr als einem Adapter verwendet,
  'so könnt ihr hier auch die Nummer des Adapter angeben.
  Set gD3DDevice8 = gD3D8.CreateDevice( _
      D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, _
      D3DCREATE_SOFTWARE_VERTEXPROCESSING, d3dpp)

   If gD3DDevice8 Is Nothing Then Exit Function
   Initialization = True
End Function
 
Hinweis
Um dieses Beispiel ausführen zu können, wird die DirectX 8 for Visual Basic Type Library benötigt (siehe dazu die Erläuterungen in der DirectX-Rubrik).

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (3,4 kB) Downloads bisher: [ 523 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Mittwoch, 7. September 2011