Direct2D

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

Direct2DGDIGDI+、および Direct3D と相互運用性のある高速かつ高精細な 2D グラフィックスを提供する API で、Windows 7Windows Server 2008 R2 以降のWindows OSに実装されている Microsoft DirectX の一部である。Windows VistaWindows Server 2008 用もリリースされている[1]。 Windows Vista以降、ハードウェア アクセラレーションが廃止され、Direct3D上でのソフトウェア実装となってしまったGDI、およびXP以前からソフトウェア実装であったGDI+の後継APIとして位置づけられている。

Windows 8およびWindows RTでは、印刷機能やDirect3Dプログラマブルシェーダーとの連携などを強化した、Direct2D 1.1が追加実装されている。また、Windows 8.1では、JPEG YCbCrやDDS圧縮フォーマットに対応したDirect2D 1.2が追加実装されている[1]。これらのプラットフォーム上では、Windows 7までのDirect2D 1.0も引き続き利用可能である。

特徴[編集]

次のような特徴を持っている。

  • ネイティブCOM APIである。つまりC++向けインターフェイスが第一に用意される。
  • Direct2D 1.0はDirect3D 10.1上に、Direct2D 1.1はDirect3D 11.1上に、そしてDirect2D 1.2はDirect3D 11.2上に構築されており、それらとの相互運用性(DXGIとの相互運用性)が確保されている。Direct3Dテクスチャへの描画を行なうことも可能である。
  • GDIおよびGDI+との相互運用性も確保されており、Direct2DのレンダーターゲットからHDC (Handle to a Device Context、デバイス コンテキスト) を取り出してGDI/GDI+で描画したり[2]、逆にHDCをDirect2Dの描画先にしたり[3]することが可能である。
  • グラフィック カードがDirect3D 9以上に対応していれば、ハードウェア アクセラレーションが行われる(使用不可能であればソフトウェアにて描画される)。
  • デバイス非依存で高DPI環境にも対応している。
  • テキスト(文字列)の描画を行なうには、前述のGDI/GDI+との相互運用を行なうか、DirectWriteと連携することになる。
  • ブラシやパスといった要素はGDI+のAPIをほぼカバーしており、.NET用ベクターグラフィックスAPIであるWPFとも類似性があるが、保持モードではなく直接モードの高速描画用途に最適化されている[2]
  • Windows 8/RTでは、WindowsストアアプリでのXAMLによるGUI描画に、Direct2D 1.1による直接描画を合成することができる。
  • Direct2D 1.1では描画内容をプリンターデバイスに出力して印刷することも可能。

導入事例[編集]

WebブラウザーのInternet Explorerはバージョン9.0以降、またWindows向けのMozilla Firefoxはバージョン4.0以降から、レンダリングにDirect2Dを使用して表示高速化を図っている。

Windows OS と使用可能なバージョン[編集]

Direct2D は Direct3D 10.1/11.x 上に構築される高レベルAPIのため、Windows OSのバージョンによって使用可能なバージョンが制限される。下記に対応バージョンを示す(サーバー用OSは省略)。

Direct2D 1.0
Windows Vista SP2 + Platform Update、Windows 7、Windows 8、Windows 8.1 で使用可能。
Direct2D 1.1
Windows 7 SP1 + Platform Update、Windows 8、Windows 8.1 で使用可能。
Direct2D 1.2
Windows 8.1 で使用可能。

関連項目[編集]

脚注[編集]

[ヘルプ]
  1. ^ Windows Server 2008 プラットフォーム更新プログラムと Windows Vista プラットフォーム更新プログラムの説明”. サポート技術情報. マイクロソフト (2009年10月27日). 2009年10月31日閲覧。
  2. ^ ID2D1GdiInteropRenderTarget” (英語). MSDN ライブラリ. マイクロソフト (2009年1月14日). 2009年1月17日閲覧。
  3. ^ ID2D1DCRenderTarget Interface” (英語). MSDN ライブラリ. マイクロソフト (2009年1月14日). 2009年1月17日閲覧。

外部リンク[編集]