Direct2D の新しい追加の一部を次に示します。
Windows 10 Creators Update の新機能
Windows 10 Creators Update では、次の機能と API が追加または更新されました。
SVG 画像レンダリングのサポート
Windows 10 Creators Update 以降、Direct2D では SVG イメージの解析と描画がサポートされており、開発者は、お気に入りのベクター アート ツールで生成されたアセットを最初にラスター イメージに変換せずにレンダリングできます。 この機能を使用して、アプリ内のアイコンのディスク占有領域とスケーリング動作を改善し、Direct2D の新しい SVG オブジェクト モデル API を使用してアプリの SVG にプログラムで変更を加えます。 Direct2D は、画像に適した SVG の限られたサブセットのみをサポートし、すべての SVG 描画機能をサポートしているわけではないことに注意してください。 ブラウザー グレードの SVG 互換性または SVG の Web 指向機能が必要な場合は、代わりに XAML WebView コントロール を使用することを検討してください。 詳細については、次のトピックを参照してください。
- Direct2D SVG 画像レンダリングのサンプル
- SVG サポート
- ID2D1DeviceContext5::CreateSvgDocument メソッド
- ID2D1DeviceContext5::DrawSvgDocument メソッド
- ID2D1SvgElement インターフェイス
カラー管理のサポートの強化
Windows 10 Creators Update 以降、Direct2D では色管理機能が強化されています。 開発者は、Direct2Dのカラーマネジメント効果を使用するためにICCプロファイルを必要としません。DXGI 色空間を使用したり、独自のパラメーター化された色空間定義を構築したりできるようになりました。 詳細については、次のトピックを参照してください。
- 色管理効果
- ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace
- ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile
Windows 10 Anniversary Update の新機能
Windows 10 Anniversary Update では、次の機能と API が追加または更新されました。
カラー フォントのサポートが強化されました
Windows 10 Anniversary Update 以降、Direct2D では、さまざまな色フォント形式のレンダリングがサポートされるようになりました。これにより、開発者は Direct2D を搭載したアプリでこれまで以上に多くの種類のフォントを使用できるようになりました。 これには、次のサポートが含まれます。
- 'COLR' OpenType テーブル。フォント内のコンパクト ベクター コンテンツを有効にします。 (Windows 8.1 以降でサポートされています)。
- フォントで SVG コンテンツを有効にする 'SVG' OpenType テーブル。
- フォントのカラー ビットマップ コンテンツを有効にする 'CBDT' OpenType テーブル。
- 'sbix' OpenType テーブル。フォントのカラー ビットマップ コンテンツを有効にします。
Direct2D では、 D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT フラグが有効になっている場合に、これらの色フォント形式が自動的にサポートされます。 詳細については、次のトピックを参照してください。
新しい画像効果
Windows 10 Anniversary Update 以降、Direct2D には AlphaMask、CrossFade、Opacity、Tint 効果が含まれています。 この機能は、以前は Composite、ArithmeticComposite、ColorMatrix 効果の特定の構成から利用されていましたが、新しい組み込み効果により、これらの一般的な操作を簡単に実行できるようになりました。
Windows 10 の新機能
Windows 10 では、次の機能と API が追加または更新されました。
スプライト バッチ
Windows 10 以降、Direct2D ではスプライト バッチの作成とレンダリングがサポートされています。 汎用 DrawImage メソッドと比較すると、スプライト バッチの場合、イメージごとの CPU オーバーヘッドが大幅に少なくなります。 これにより、ゲーム スプライトやパーティクル システムなど、数百または数千の同時画像を含むシナリオに最適です。 詳細については、次のトピックを参照してください。
- ID2D1DeviceContext3::CreateSpriteBatch メソッド
- ID2D1DeviceContext3::DrawSpriteBatch メソッド
- ID2D1SpriteBatch インターフェイス
グラデーション メッシュ
Windows 10 以降、Direct2D はグラデーション メッシュ用の新しいプリミティブを提供します。 グラデーションメッシュはグラフィックデザインソフトウェアのプロのイラストレーションでよく使用され、アーティストはベクトルのすべてのメモリとスケーラビリティの利点を持つ複雑な(写真にリアルな)多色の図形をレンダリングすることができます。 詳細については、次のトピックを参照してください。
画像読み込み API の改善
Windows 10 以降、Direct2D には、イメージ ID2D1ImageSource を読み込むための新しい API が用意されています。 イメージ ソースは、CreateBitmapFromWicBitmap、Bitmap Source 効果、YCbCr 効果など、既存のイメージ読み込み API を改善します。 Direct2D イメージ ソースは、これらの API の機能と、任意のサイズの画像のサポート、印刷と効果との簡単な統合、YCbCr JPEG やインデックス付き JPEG などの多数の最適化を組み合わせたものです。 詳細については、次のトピックを参照してください。
- Direct2D Photo Adjustment SDK サンプル
- ID2D1ImageSource
- ID2D1ImageSourceFromWic
- IWICJpegFrameDecode::SetIndexing
インク レンダリングのサポートが強化されました
Windows 10 以降、Direct2D はインク ストロークを表す新しいプリミティブを提供します。 Direct2D インク ストロークはベジエ曲線によって定義され、さまざまなペン先の形状と変換をサポートし、固定または可変の厚さを持つことができます。 Direct2D のインク ストロークの組み込みサポートにより、アプリは以前のアプローチよりも高速で美しいインクを簡単にレンダリングできます。通常、アプリは一連の楕円と四角形として、インク自体を管理する必要があります。 詳細については、次のトピックを参照してください。
効果シェーダー リンク
Direct2D 効果は、HLSL ピクセル シェーダー、頂点シェーダー、計算シェーダーを使用して実装されます。 Windows 10 以降、Direct2D ではエフェクト グラフが自動的に分析され、個々のシェーダーを組み合わせて実行する機会が得られます。 これにより、実質的なスループットが大幅に向上する可能性があります。 組み込み効果のコンシューマーは、エフェクト シェーダー のリンクの恩恵を受けるために何もする必要はありませんが、独自のカスタム 効果を作成する開発者は、エフェクト シェーダー のリンクを利用するための最新のベスト プラクティスに従う必要があります。 詳細については、次のトピックを参照してください。
効果シェーダーのリンクは、効果のビジュアル出力に影響を与えないように設計されています。 しかし、特定の動作が効果の精度や数値のクリッピングに影響するため、これが常に可能であるとは限りません。 これらの動作を制御する方法の詳細については、次を参照してください。
新しい組み込み効果
Windows 10 以降、Direct2D には、上位の開発者の要求に対応し、新しい種類のビジュアル シナリオを有効にする、豊富な組み込み効果のセットが含まれています。 新しい効果は次のとおりです。
色:
- RGB から Hue 効果への変換
- 色相を RGB に変換する効果
- 3D 参照テーブルの効果
写真:
フィルター:
スタイルを設定する:
透明性:
Direct2D Photo Adjustment SDK サンプルでは、ストレート、彩度、コントラスト、ハイライトとシャドウ、温度と濃淡の効果について説明します。
Windows 8.1 の新機能
Windows 8.1 では、次の機能と API が追加または更新されました。
Windows 8.1 以降、Direct2D は Direct3D 11.2 上に構築されています。
ジオメトリ実現
Windows 8.1 以降、Direct2D はジオメトリの実現を提供します。 ジオメトリの実現により、アプリケーションは、ジオメトリをビットマップにラスタライズする欠点の一部を除き、特定の状況でジオメトリレンダリングのパフォーマンスを向上させることができます。 詳細については、次のトピックを参照してください。
- ID2D1Device1 インターフェイス
- ID2D1DeviceContext1::DrawGeometryRealization メソッド
JPEG YCbCr イメージのサポート
Windows 8.1 以降、Direct2D では JPEG Y'CbCr 形式でのイメージ データのレンダリングがサポートされています。 アプリは、BGRA に展開するのではなく、ネイティブの Y'CbCr 表現で JPEG コンテンツをレンダリングできます。 これにより、グラフィックス メモリの消費量とリソースの作成時間が大幅に短縮されます。 詳細については、次のトピックを参照してください。
- Direct2D YCbCr 効果
- IWICPlanarBitmapSourceTransform インターフェイス
ブロック圧縮形式 (DDS ファイル) のサポート
Windows 8.1 以降、Direct2D では、DXGI_FORMAT_BC1_UNORM、DXGI_FORMAT_BC2_UNORM、およびDXGI_FORMAT_BC3_UNORMピクセル データを含むビットマップがサポートされています。 アプリは、イメージ資産をブロック圧縮 DDS イメージに置き換えることができます。 これにより、グラフィックス メモリの消費量とリソースの作成時間が大幅に短縮されます。 詳細については、次のトピックを参照してください。
レンダリングの優先順位
Windows 8.1 以降、Direct2D ではデバイスごとのレンダリング優先度がサポートされています。 この新機能により、アプリは通常のレンダリング優先度 (既定) と低レンダリング優先度 (デバイスがシステム上の他のレンダリング タスクをブロックしない) の間でデバイスを切り替えることができます。 プリレンダリング コンテンツ、最小化されたレンダリング、通常バックグラウンドで実行されるその他の操作など、ユーザーの応答性にとって重要ではないタスクでは、アプリでレンダリング優先度を低くすることをお勧めします。 詳細については、次のトピックを参照してください。
Windows 8 の新機能
Windows 8 では、次の機能と API が追加または更新されました。
新しい Direct2D インターフェイスは、Windows 7 用プラットフォーム更新プログラム がインストールされた Windows 7 でサポートされています。
デバイスとデバイス コンテキストに対する Direct2D のセマンティクスが更新され、Direct3D で使用されるセマンティクスに近づき、Windows ストア アプリで簡潔な操作が提供されました。 詳細については、「 デバイスとデバイスのコンテキスト 」を参照してください。
選択された関連 API:
コマンド リスト API を使用すると、画面上のレンダリングと印刷のレンダリング パスを共有できます。 この機能により、プリミティブを使用して、プリミティブを塗りつぶすためのイメージ ブラシを作成することもできます。
選択された関連 API:
Direct2D 効果 は、画像に高品質の効果を適用するための、Windows 8 の新機能である API のセットです。 また、独自のカスタム効果を作成できる API も含まれています。
選択された関連 API:
Windows 8 以降、Direct2D には、マルチスレッド アプリを構築するための追加の API が含まれています。 詳細については、「 マルチスレッド Direct2D アプリ 」を参照してください。
選択された関連 API: