Microsoft DirectX 8.0 (C++) |
プレゼンテーションのアプリケーション プログラミング インターフェイス (API) は、モニタ表示に影響するデバイス ステートを制御するメソッドのセットである。このようなメソッドとして、表示設定モードや、画像表示のためのフレーム単位のメソッドなどがある。
プレゼンテーション API を理解するには、次の用語を知る必要がある。
Microsoft® Direct3D® for Microsoft DirectX® 8.0 は、デバイスのプロパティとして 1 つのスワップ チェーンを持つため、各デバイスには常に少なくとも 1 つのスワップ チェーンがある。IDirect3DDevice8 インターフェイスには、非明示的なスワップ チェーンを操作するメソッド セットがある。このメソッド セットは、スワップ チェーン独自のインターフェイスのコピーである。アプリケーションでは追加スワップ チェーンを作成できるが、一般の単一ウィンドウやフルスクリーンのアプリケーションでは必要ない。
Direct3D API for DirectX 8.0 では、フロント バッファに直接公開することはできない。したがって、アプリケーションは、フロント バッファをロックしたりフロント バッファにレンダリングすることはできない。詳細については、「カラー フロント バッファへのアクセス」を参照すること。
注 DirectX 7.x には、組み合わせて呼び出されるプレゼンテーション API がいくつか存在した。IDirectDraw7::SetCooperativeLevel、IDirectDraw7::SetDisplayMode、および IDirectDraw7::CreateSurface によるシーケンスはその良い例である。また、IDirectDrawSurface7::Flip メソッドと IDirectDrawSurface7::Blt メソッドの組み合わせによって、レンダリングされたフレームをモニタに転送することを知らせた。DirectX 8.0 では、これらの API グループを、Reset と Present の 2 つのメイン メソッドに分割した。Reset には、SetCooperativeLevel、SetDisplayMode、CreateSurface、そして Flip へのいくつかのパラメータが含まれている。Present には、Flip と、Blt のプレゼンテーションの使用が含まれている。
IDirect3D8::CreateDevice 呼び出しは、デバイスの非明示的なリセットを示す。DirectX 8.0 API にはプライマリ サーフェスの概念はなく、プライマリ サーフェスを表すオブジェクトを作成することはできない。プライマリ サーフェスは、デバイスの内部プロパティと見なされる。
ガンマ ランプはスワップ チェーンに関連付けられ、IDirect3DDevice8::GetGammaRamp および IDirect3DDevice8::SetGammaRamp メソッドで操作する。