DirectDraw
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]。