ID2D1Factory インターフェイス (d2d1.h)

Direct2D リソースを作成します。

継承

ID2D1Factory インターフェイスは、IUnknown インターフェイスから継承されます。 ID2D1Factory には、次の種類のメンバーもあります。

メソッド

ID2D1Factory インターフェイスには、これらのメソッドがあります。

 
ID2D1Factory::CreateDCRenderTarget

Windows グラフィックス デバイス インターフェイス (GDI) デバイス コンテキストに描画するレンダー ターゲットを作成します。
ID2D1Factory::CreateDrawingStateBlock

レンダー ターゲットの SaveDrawingState メソッドおよび RestoreDrawingState メソッドで使用できる ID2D1DrawingStateBlock を作成します。 (オーバーロード 1/3)
ID2D1Factory::CreateDrawingStateBlock

レンダー ターゲットの SaveDrawingState メソッドおよび RestoreDrawingState メソッドで使用できる ID2D1DrawingStateBlock を作成します。 (オーバーロード 2/3)
ID2D1Factory::CreateDrawingStateBlock

レンダー ターゲットの SaveDrawingState メソッドおよび RestoreDrawingState メソッドで使用できる ID2D1DrawingStateBlock を作成します。 (オーバーロード 3/3)
ID2D1Factory::CreateDxgiSurfaceRenderTarget

DirectX グラフィックス インフラストラクチャ (DXGI) サーフェスに描画するレンダー ターゲットを作成します。 (オーバーロード 1/2)
ID2D1Factory::CreateDxgiSurfaceRenderTarget

DirectX グラフィックス インフラストラクチャ (DXGI) サーフェスに描画するレンダー ターゲットを作成します。 (オーバーロード 2/2)
ID2D1Factory::CreateEllipseGeometry

ID2D1EllipseGeometry を作成します。 (オーバーロード 2/2)
ID2D1Factory::CreateEllipseGeometry

ID2D1EllipseGeometry を作成します。 (オーバーロード 1/2)
ID2D1Factory::CreateGeometryGroup

他のジオメトリを保持するオブジェクトである ID2D1GeometryGroup を作成します。
ID2D1Factory::CreateHwndRenderTarget

ウィンドウにレンダリングするレンダー ターゲットである ID2D1HwndRenderTarget を作成します。 (オーバーロード 2/2)
ID2D1Factory::CreateHwndRenderTarget

ウィンドウにレンダリングするレンダー ターゲットである ID2D1HwndRenderTarget を作成します。 (オーバーロード 1/2)
ID2D1Factory::CreatePathGeometry

空の ID2D1PathGeometry を作成します。
ID2D1Factory::CreateRectangleGeometry

ID2D1RectangleGeometry を作成します。 (オーバーロード 2/2)
ID2D1Factory::CreateRectangleGeometry

ID2D1RectangleGeometry を作成します。 (オーバーロード 1/2)
ID2D1Factory::CreateRoundedRectangleGeometry

ID2D1RoundedRectangleGeometry を作成します。 (オーバーロード 2/2)
ID2D1Factory::CreateRoundedRectangleGeometry

ID2D1RoundedRectangleGeometry を作成します。 (オーバーロード 1/2)
ID2D1Factory::CreateStrokeStyle

ストロークの開始キャップ、ダッシュ パターン、およびその他の特徴を記述する ID2D1StrokeStyle を作成します。 (オーバーロード 2/2)
ID2D1Factory::CreateStrokeStyle

ストロークの開始キャップ、ダッシュ パターン、およびその他の特徴を記述する ID2D1StrokeStyle を作成します。 (オーバーロード 1/2)
ID2D1Factory::CreateTransformedGeometry

指定したジオメトリを変換し、結果を ID2D1TransformedGeometry オブジェクトとして格納します。 (オーバーロード 2/2)
ID2D1Factory::CreateTransformedGeometry

指定したジオメトリを変換し、結果を ID2D1TransformedGeometry オブジェクトとして格納します。 (オーバーロード 1/2)
ID2D1Factory::CreateWicBitmapRenderTarget

Microsoft Windows Imaging Component (WIC) ビットマップにレンダリングするレンダー ターゲットを作成します。 (オーバーロード 2/2)
ID2D1Factory::CreateWicBitmapRenderTarget

Microsoft Windows Imaging Component (WIC) ビットマップにレンダリングするレンダー ターゲットを作成します。 (オーバーロード 1/2)
ID2D1Factory::GetDesktopDpi

現在のデスクトップ ドット/インチ (DPI) を取得します。 この値を更新するには、ReloadSystemMetrics を呼び出します。
ID2D1Factory::ReloadSystemMetrics

ファクトリの作成後に変更された可能性のあるシステムの既定値を強制的に更新します。

注釈

ID2D1Factory インターフェイスは、Direct2D を使用するための開始点です。図形の描画や記述に使用できる他の Direct2D リソースを作成するために使用します。

ファクトリは、次の描画リソースを生成できる一連の CreateResource メソッドを定義します。

  • レンダー ターゲット: 描画コマンドをレンダリングするオブジェクト。
  • 描画状態ブロック: 現在の変換やアンチエイリアシング モードなどの描画状態情報を格納するオブジェクト。
  • ジオメトリ: 単純で複雑な可能性のある図形を表すオブジェクト。

ID2D1Factory を作成するには、CreateFactory メソッドのいずれかを使用します。 Direct2D リソースを使用する限り、 ID2D1Factory インスタンスを保持する必要があります。一般に、アプリケーションの実行時に再作成する必要はありません。 Direct2D リソースの詳細については、「 リソースの概要」を参照してください。

シングルスレッド ファクトリとマルチスレッド ファクトリ

ファクトリを作成するときに、マルチスレッドかシングルスレッドかを指定できます。 シングルスレッド ファクトリでは、Direct2D 内の他のシングル スレッド インスタンスに対するシリアル化は提供されないため、このメカニズムでは CPU のスケーリングが非常に大きくなります。

マルチスレッド ファクトリ インスタンスを作成することもできます。 この場合、ファクトリとすべての派生オブジェクトは任意のスレッドから使用でき、各レンダー ターゲットは個別に にレンダリングできます。 Direct2D は、これらのオブジェクトへの呼び出しをシリアル化するため、単一のマルチスレッド Direct2D インスタンスは、単一スレッドインスタンスの数ほど CPU 上でスケーリングされません。 ただし、リソースはマルチスレッド インスタンス内で共有できます。

修飾子 "ON the CPU": GPU は通常、CPU よりもきめ細かい並列処理を利用します。 たとえば、CPU からのマルチスレッド呼び出しは GPU に送信されるときにシリアル化される可能性がありますが、ピクセル シェーダーと頂点シェーダーのバンク全体が並列で実行され、レンダリングが実行されます。

詳細については、「 マルチスレッド Direct2D アプリ 」を参照してください。

次のコード フラグメントは、ファクトリ ポインターを宣言し、シングルスレッド ファクトリ インスタンスを作成し、ファクトリを使用してレンダー ターゲットを作成します。

ID2D1Factory* m_pDirect2dFactory;

    // Create a Direct2D factory.
    hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &m_pDirect2dFactory);

        // Create a Direct2D render target.
        hr = m_pDirect2dFactory->CreateHwndRenderTarget(
            D2D1::RenderTargetProperties(),
            D2D1::HwndRenderTargetProperties(m_hwnd, size),
            &m_pRenderTarget
            );

要件

要件
サポートされている最小のクライアント Windows 7、Windows Vista SP2 および Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー d2d1.h

こちらもご覧ください

Direct2D の概要

簡単な Direct2D アプリケーションを作成する

Direct2D を使用したはじめに

IUnknown

マルチスレッド Direct2D アプリ

リソースの概要