Microsoft DirectX 8.0 (Visual Basic)

デバイスの作成

  指定の Microsoft® Direct3D® オブジェクトによって作成されたレンダリング デバイスは、すべて同じ物理リソースを共有する。単一の Direct3D オブジェクトから複数のレンダリング デバイスを作成することは可能であるが、これらはすべて同じハードウェアを共有するため、パフォーマンスが大きく低下する。

Microsoft Visual Basic® アプリケーションで Direct3D デバイスを作成するには、「Direct3D へのアクセス」で説明するように、まず Direct3D オブジェクトを作成する必要がある。

最初に、Direct3D デバイスを作成するための D3DPRESENT_PARAMETERS 型の値を初期化する。次のコードは、VSYNC でのみバック バッファがフロント バッファにフリップされるウィンドウ アプリケーションを指定する。

Dim d3dDevice As Direct3DDevice8

    Dim d3dpp As D3DPRESENT_PARAMETERS

    d3dpp.Windowed = 1
    d3dpp.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC

次に、Direct3D デバイスを作成する。次の Direct3D8.CreateDevice 呼び出しは、デフォルトのアダプタ、ハードウェア アブストラクション レイヤ (HAL) デバイス、およびソフトウェア頂点処理を指定する。

    Set d3dDevice = g_D3D.CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, _
                                      D3DCREATE_SOFTWARE_VERTEXPROCESSING, d3dpp)
    If d3dDevice Is Nothing Then Exit Function
    

デバイス作成後は、そのステートを設定する。