Direct2D の新機能
Direct2D の新しい追加の一部を次に示します。
Windows 10 Creators Updateの新機能
次の機能と API は、Windows 10 Creators Updateに対して追加または更新されました。
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::D rawSvgDocument メソッド
- 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 の新機能
次の機能と API は、Windows 10に対して追加または更新されました。
スプライト バッチ
Windows 10以降、Direct2D ではスプライト バッチの作成とレンダリングがサポートされています。 汎用 DrawImage メソッドと比較すると、スプライト バッチの場合、イメージごとの CPU オーバーヘッドが大幅に少なくなります。 これにより、ゲーム スプライトやパーティクル システムなど、数百または数千の同時イメージを含むシナリオに最適です。 詳細については、次のトピックを参照してください。
- ID2D1DeviceContext3::CreateSpriteBatch メソッド
- ID2D1DeviceContext3::D rawSpriteBatch メソッド
- ID2D1SpriteBatch インターフェイス
グラデーション メッシュ
Windows 10以降、Direct2D はグラデーション メッシュの新しいプリミティブを提供します。 グラデーション メッシュは、グラフィック デザイン ソフトウェアのプロのイラストレーターによって頻繁に使用され、アーティストは、ベクトルのすべてのメモリとスケーラビリティの利点を持つ複雑な (フォトリアリスティックな) 多色の図形をレンダリングできます。 詳細については、次のトピックを参照してください。
画像読み込み API の改善
direct2D では、Windows 10以降、イメージ 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 には、上位の開発者の要求に対応し、新しい種類のビジュアル シナリオを可能にする、豊富な新しい組み込み効果のセットが含まれています。 新しい効果は次のとおりです。
色:
写真:
フィルター:
スタイル設定:
透明性:
Direct2D Photo Adjustment SDK サンプルでは、ストレート、彩度、コントラスト、ハイライトと影、温度と濃淡の効果を示します。
Windows 8.1の新機能
次の機能と API は、Windows 8.1に対して追加または更新されました。
Windows 8.1以降、Direct2D は Direct3D 11.2 上に構築されています。
ジオメトリの実現
Windows 8.1以降、Direct2D はジオメトリの実現を提供します。 ジオメトリの実現により、アプリケーションは、ジオメトリをビットマップにラスタライズする欠点の一部を除き、特定の状況でジオメトリレンダリングのパフォーマンスを向上させることができます。 詳細については、次のトピックを参照してください。
- ID2D1Device1 インターフェイス
- ID2D1DeviceContext1::D rawGeometryRealization メソッド
JPEG YCbCr イメージのサポート
Windows 8.1以降、Direct2D では JPEG Y'CbCr 形式でのイメージ データのレンダリングがサポートされています。 アプリは、BGRA に展開する代わりに、ネイティブの Y'CbCr 表現で JPEG コンテンツをレンダリングできます。 これにより、グラフィックスのメモリ消費量とリソースの作成時間が大幅に短縮されます。 詳細については、次のトピックを参照してください。
- Direct2D YCbCr 効果
- IWICPlanarBitmapSourceTransform インターフェイス
ブロック圧縮形式 (DDS ファイル) のサポート
Direct2D では、Windows 8.1以降、ピクセル データDXGI_FORMAT_BC1_UNORM、DXGI_FORMAT_BC2_UNORM、DXGI_FORMAT_BC3_UNORMを含むビットマップがサポートされます。 アプリは、イメージ資産をブロック圧縮 DDS イメージに置き換えることができます。 これにより、グラフィックスのメモリ消費量とリソースの作成時間が大幅に短縮されます。 詳細については、次のトピックを参照してください。
レンダリングの優先順位
Windows 8.1以降、Direct2D ではデバイスごとのレンダリング優先度がサポートされます。 この新機能により、アプリはデバイスを通常のレンダリング優先度 (既定) と低レンダリング優先度 (デバイスがシステム上の他のレンダリング タスクをブロックしない) の間で切り替えることができます。 アプリでは、コンテンツの事前レンダリング、最小化されたレンダリング、通常バックグラウンドで実行されるその他の操作など、ユーザーの応答性にとって重要ではないタスクに対して、低いレンダリング優先度を使用することをお勧めします。 詳細については、次のトピックを参照してください。
Windows 8の新機能
次の機能と API は、Windows 8に対して追加または更新されました。
新しい Direct2D インターフェイスは、Windows 7 用プラットフォーム更新プログラム がインストールされた Windows 7 でサポートされています。
デバイスとデバイス コンテキストに対する Direct2D のセマンティクスが更新され、Direct3D で使用されるセマンティクスに近づき、Windows ストア アプリで簡潔な操作が提供されました。 詳細については、「 デバイスとデバイスコンテキスト 」を参照してください。
選択された関連 API:
コマンド リスト API を使用すると、画面のレンダリングと印刷での のレンダリング パスを共有できます。 また、プリミティブを使用して、プリミティブを塗りつぶすイメージ ブラシを作成することもできます。
選択された関連 API:
Direct2D 効果は、画像に高品質の効果を適用するための、Windows 8の新機能である API のセットです。 また、独自のカスタム効果を作成できる API も含まれています。
選択された関連 API:
Windows 8以降、Direct2D には、マルチスレッド アプリを構築するための追加の API が含まれています。 詳細については、「 マルチスレッド Direct2D アプリ 」を参照してください。
選択された関連 API: