|
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
|
|
|
|
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: [ 532 ]
|
|
|