DirectDrawマイクロソフトDirectX APIの一部である。パフォーマンスが重要なアプリケーションでコンピュータグラフィックスを高速にレンダリングするために使用する。DirectDrawアプリケーションはフルスクリーンで動作するほか、一般的なWindowsデスクトップアプリケーションのようにウィンドウ内で動作するようにもできる。ビデオカードなどのグラフィックスデバイスが持つハードウェアアクセラレーション機能を利用できる場合はこれを利用する。DirectDrawはビデオメモリハードウェアオーバーレイ、ハードウェアブロック転送ページフリップを直接操作できる。DirectDrawのビデオメモリマネージャは簡単にビデオメモリを操作でき、ブロック転送をうまく活用でき、様々なビデオカードで様々な色数に対応できる。

DirectDrawは2次元コンピュータグラフィックスのAPIである。すなわち、2Dレンダリングのためのコマンドが存在するのみで、3Dハードウェアアクセラレーションはサポートしない。半透明合成処理(アルファブレンド)に関しても同様である。DirectDrawを駆使してレンダラーを実装することで3D映像を描画することもできるが、3DハードウェアアクセラレーションをサポートするDirect3DのようなAPIと比較してレンダリングが遅くなる。

DirectXバージョン8.0において、DirectDrawは、Direct3Dに一部のDirectDraw APIを追加しただけのDirectX Graphicsという新しいパッケージに統合され、事実上DirectDrawは廃止された。DirectDrawはDirectX 8以降と共存可能だが、DirectDrawを使用する場合は、古いバージョンのDirectXインターフェイス (DirectX 7およびそれ以前) を使わなければならない。

対応言語 編集

DirectDrawはCOMベースのAPIであり、主にC++から利用することを想定されている。ただし、DirectX 7ではC++以外にVisual Basicも正式サポートされた[1]

Microsoft .NET用のManaged DirectXにもDirectDrawのサポートが存在する[2]

脚注 編集

関連項目 編集