Platform SDK: DirectX

ステップ 1 : バック バッファの作成

[C++]

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

[Visual Basic]

チュートリアル 2 のサンプルでは、オフスクリーン サーフェスを合成サーフェスとして使用する。オフスクリーン サーフェスは、メモリ内に概念として存在する矩形領域であり、この領域には通常プライマリ サーフェスにブリットされるビットマップが格納される。このバック バッファを使って湖のイメージとスプライトのイメージを格納し、その後合成されたイメージをスクリーンに表示する。このサーフェスは、以下の文で作成される。

'非表示サーフェスを作成し描画する。
'これをシステム メモリ内の合成サーフェスとして使用する。

'高さと幅を指定したいことを示す。
'サーフェスのフォーマット (bits per pixel) は
'プライマリ サーフェスと同じである。
ddsdBackBuffer.lFlags = DDSD_CAPS Or DDSD_HEIGHT Or DDSD_WIDTH

'表示されないサーフェスが必要であることと、
'そのサーフェスをビデオ メモリではなくシステム メモリに配置することを示す。
ddsdBackBuffer.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN Or DDSCAPS_SYSTEMMEMORY

'サーフェスの高さと幅を
'ピクチャ ボックスと同じになるように指定する (単位はピクセルであることに注意)。
ddsdBackBuffer.lWidth = Picture1.Width
ddsdBackBuffer.lHeight = Picture1.Height

'要求されたサーフェスを作成する。
Set objDDBackBuffer = objDD.CreateSurface(ddsdBackBuffer)

次項 :ステップ 2 : サーフェスの初期化