G9lib補足

12/7にソースに関しての説明になります。
■必要なライブラリをリンクするように記述してます。

#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")

■ダイレクトXの初期化準備
ソースではWindowsモードで動作する事を前提にしています。

	D3DDISPLAYMODE dmode;
	if (FAILED(pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &dmode))) {
		MessageBox(hwnd, L"ディスプレイモードの取得に失敗しました。",L"Base",MB_OK | MB_ICONSTOP);
		return FALSE;
	}
	ZeroMemory(&d3dppApp, sizeof(d3dppApp));
	d3dppApp.Windowed	= TRUE;							// ウィンドウモード
	d3dppApp.SwapEffect = D3DSWAPEFFECT_DISCARD;		// 垂直同期でフリップ
	d3dppApp.BackBufferCount = 1;
	d3dppApp.BackBufferFormat = dmode.Format;
	d3dppApp.EnableAutoDepthStencil = TRUE;
	d3dppApp.AutoDepthStencilFormat= D3DFMT_D16;

Windowsモードではなくフルスクリーンモードが良い場合は以下のような設定にしてください。

	ZeroMemory(&d3dppApp,sizeof(d3dppApp));
	d3dppApp.BackBufferWidth	= 640;					//	画面の解像度
	d3dppApp.BackBufferHeight	= 480;					//
	d3dppApp.BackBufferFormat	= D3DFMT_R5G6B5;
	d3dppApp.Windowed			= FALSE;				// フルスクリーンモード
	d3dppApp.BackBufferCount	= 1;
	d3dppApp.SwapEffect			= D3DSWAPEFFECT_DISCARD;
	d3dppApp.FullScreen_RefreshRateInHz = 60;
	d3dppApp.EnableAutoDepthStencil = TRUE;
	d3dppApp.AutoDepthStencilFormat= D3DFMT_D16;

■最後に開放する事をわすれないように

	if (pD3D) {
		pD3D->Release();
		pD3D = NULL;
	}
	if (pD3DDevice) {
		pD3DDevice->Release();
		pD3DDevice = NULL;
	}

■描画の準備
描画関係のコマンドは、BeginSceneとEndSceneの間に記述してください。

	pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,0) , 1.0, 0);
	pD3DDevice->BeginScene();
		:	描画設定
		:
	pD3DDevice->EndScene();
	pD3DDevice->Present(NULL, NULL, NULL, NULL);

本当は成功するかどうか確認をした方がよいです。(今回のソースは省いてますが)

	pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,0), 1.0, 0);
	if (SUCCEEDED(pD3DDevice->BeginScene())){
			:	描画設定
			:
		pD3DDevice->EndScene();
	}
	pD3DDevice->Present(NULL, NULL, NULL, NULL);