Platform SDK: DirectX

ステップ 2 : オフスクリーン サーフェスへのビットマップのロード

[Visual Basic]

ここでは、C および C++ でのアプリケーション開発について説明する。Visual Basic については、「DirectDraw Visual Basic チュートリアル」を参照すること。

[C++]

2 つのオフスクリーン サーフェスが作成されると、DDEx3 は InitSurfaces サンプル関数を使って、Frntback.bmp ファイルのビットマップをサーフェスにロードする。InitSurfaces 関数は、両方のビットマップをロードするために、Ddutil.cpp にある DDCopyBitmap サンプル関数を使用する。次に例を示す。

// ビットマップ リソースをロードする。
hbm = (HBITMAP)LoadImage(GetModuleHandle(NULL), szBitmap, 
    IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION); 
 
if (hbm == NULL) 
    return FALSE; 
 
DDCopyBitmap(lpDDSOne, hbm, 0, 0,   640, 480); 
DDCopyBitmap(lpDDSTwo, hbm, 0, 480, 640, 480); 
DeleteObject(hbm); 
 
return TRUE; 
 

Microsoft® Paint や他の描画アプリケーションで Frntback.bmp ファイルを見ると、一方がもう一方に重なる 2 つのスクリーンでビットマップが構成されていることがわかる。DDCopyButmap 関数は、そのスクリーンが合わさるポイントでビットマップを 2 つに分ける。さらに、最初のビットマップを最初のオフスクリーン サーフェス (lpDDSOne) にロードし、2 番目のビットマップを 2 番目のオフスクリーン サーフェス (lpDDSTwo) にロードする。

次項 :ステップ 3 : バック バッファへのオフスクリーン サーフェスのブリット