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も正式サポートされた。

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

脚注

関連項目 
 DirectDraw Surface
 Direct3D
 DirectX

Draw
グラフィックライブラリ