Vytvoříme si nový projekt (standard EXE). Musíme dát vědět VB, že chceme přistupovat k DirectX. Proto přidáme referenci “DirectX 8 for Visual Basic Type Library“(project menu – reference). Jestliže ji nenajdete v registrovaných referencích, tak se nachází v adresáři Windows\System jako Dx8vb.dll. A můžeme začít s deklarací:
Dim Dx As New DirectX8 ´deklarace DirectX
Dim D3D As Direct3D8 ´deklarace Direct3D
Dim D3DDevice As Direct3DDevice8 ´deklarace Direct3D Device
Následuje inicializace DirectX, Direct3D, D3DDevice:
Set D3D = Dx.Direct3DCreate() ´vytvoření objektu D3D
Dim Nastavení_obrazovky As D3DDISPLAYMODE
D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, Nastavení_obrazovky
Dim D3DWindow As D3DPRESENT_PARAMETERS
With D3DWindow
´Copy_Vsync synchronizuje frekvenci obrazovky s graf. adaptérem (Vertikální synchronizace)
.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC
´formát BackBufferu se rovná formátu obrazovky
.BackBuffer = Nastavení_obrazovky.Format
´chceme jen jeden BackBuffer (při tomto nastavení může být je jeden)
.BackBufferCount = 1
End With
Set D3DDevice = D3D.CreateDevice(D3DADAPTE
R_DEFAULT, D3DDEVTYPE_HAL, hWnd, _D3DCREATE_SOFTWARE_VERTEXPROCESSING, D3DWindow)
Jestli jste si už zkusili příklad, mohli jste si všimnout, že struktura D3DDisplayMode není deklarovaná. Není to potřebné, protože všechny deklarace se nachází již v knihovně Dx8vb.dll. Taková deklarace vypadá takto:
Type D3DDISPLAYMODE
Format As CONST_D3DFORMAT ´formát obrazovky
Height As Long ´výška
RefreshRate As Long ´obnovovací frekvence
Width As Long ´šířka
End Type
Pomocí GetAdapterDisplayMode získáme aktuální nastavení obrazovky. Pro nás je důležitý formát. Existuje kolem 40 formátů obrazovky. My budeme nejčastěji používat R5G6B5 (5 bitů pro červenou, 6 pro zelenou a 5 pro modrou = 16 bitů) a R8G8B8 (32 bitů).
Jestli jste si už zkusili příklad, mohli jste si všimnout, že struktura D3DDisplayMode není deklarovaná. Není to potřebné, protože všechny deklarace se nachází již v knihovně Dx8vb.dll. Taková deklarace vypadá takto:
Type D3DDISPLAYMODE
Format As CONST_D3DFORMAT ´formát obrazovky
Height As Long ´výška
RefreshRate As Long ´obnovovací frekvence
Width As Long ´šířka
End Type
Pomocí GetAdapterDisplayMode získáme aktuální nastavení obrazovky. Pro nás je důležitý formát. Existuje kolem 40 formátů obrazovky. My budeme nejčastěji používat R5G6B5 (5 bitů pro červenou, 6 pro zelenou a 5 pro modrou = 16 bitů) a R8G8B8 (32 bitů).