ホーム > DirectX Graphics > 共通の処理

共通の処理

目次

  1. 初期化
  2. 描画
  3. 終了処理

初期化

DirectX Graphicsを使用するために「d3d9.h」をインクルードし、「dxguid.lib」と「d3d9.lib」をリンクします。また、Direct3DXを使用するには「d3dx9.h」をインクルードし、「d3dx9.lib」をリンクします。

#include <d3d9.h>
#include <d3dx9.h>

Direct3Dオブジェクトの作成します。引数は固定で、成功するとIDirect3D9インターフェイスへのポインタを取得できます。

LPDIRECT3D9 g_lpD3D = NULL;
g_lpD3D = Direct3DCreate9( D3D_SDK_VERSION );

描画を行うためにデバイスを作成します。ウインドウモードの場合、ピクセルフォーマットは「D3DFMT_UNKNOWN」か「IDirect3DDevice9::GetDisplayMode」で取得したピクセルフォーマットを指定します。

// パラメータを設定
D3DPRESENT_PARAMETERS param;
ZeroMemory( &param, sizeof(param) );
param.BackBufferWidth  = 320;                    // 解像度・幅
param.BackBufferHeight = 240;                    // 解像度・高さ
param.BackBufferFormat = D3DFMT_X8R8G8B8;        // ピクセルフォーマット
param.BackBufferCount  = 1;                      // バックバッファの数
param.SwapEffect       = D3DSWAPEFFECT_DISCARD;  // 表示する方法
param.Windowed         = FALSE;                  // フルスクリーン
//param.Windowed       = TRUE;                   // ウインドウモード

// デバイス作成
LPDIRECT3DDEVICE9 g_lpD3DDevice = NULL;
   g_lpD3D->CreateDevice(
   D3DADAPTER_DEFAULT,                  // プライマリディスプレイアダプタ
   D3DDEVTYPE_HAL,                      // ハードウェアを利用
   g_hWnd,                              // ウインドウハンドル
   D3DCREATE_SOFTWARE_VERTEXPROCESSING, // ソフトウェアによる頂点処理
// D3DCREATE_HARDWARE_VERTEXPROCESSING, // ハードウェアによる頂点処理
   &param,                              // パラメータ
   &g_lpD3DDevice
);

描画

描画を開始するには「IDirect3DDevice9::BeginScene」を呼び出し、描画が終了したら「IDirect3DDevice9::EndScene」を呼び出します。バックバッファを表示させるには「IDirect3DDevice9::Present」を呼び出します。また通常、描画を行うまえには「IDirect3DDevice9::Clear」を呼び出し、バックバッファを指定した色で塗りつぶしクリアします。

// 黒で塗りつぶす
g_lpD3DDevice->Clear( 0, NULL, D3DCLEAR_TARGET,
                      D3DCOLOR_XRGB(0,0,0), 1.0, 0 );

// 描画開始
g_lpD3DDevice->BeginScene();

//
// 描画処理
//

// 描画終了
g_lpD3DDevice->EndScene();

// 表示
g_lpD3DDevice->Present( NULL, NULL, NULL, NULL );

終了処理

作成した各オブジェクトを解放します。

// 解放
/* #define RELEASE(p) { if(p){(p)->Release();p=NULL;} } */
RELEASE( g_lpD3DDevice );
RELEASE( g_lpD3D );


Last Update 2003/8/30.
Copyright © 2002-2004 Toru All Rights Reserved.
inserted by FC2 system