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