次の方法で共有


IDirect3DDevice9Ex::ComposeRects メソッド (d3d9.h)

別のサーフェス上のグリフのアルファベットを使用して、テキスト文字列を 1 つのサーフェスにコピーします。 コンポジションは、ビットごとの操作を使用して GPU によって行われます。

構文

HRESULT ComposeRects(
  [in] IDirect3DSurface9      *pSrc,
  [in] IDirect3DSurface9      *pDst,
  [in] IDirect3DVertexBuffer9 *pSrcRectDescs,
  [in] UINT                   NumRects,
  [in] IDirect3DVertexBuffer9 *pDstRectDescs,
  [in] D3DCOMPOSERECTSOP      Operation,
  [in] int                    Xoffset,
  [in] int                    Yoffset
);

パラメーター

[in] pSrc

種類: IDirect3DSurface9*

アルファベット グリフを提供するソースサーフェイス ( IDirect3DSurface9 によって準備された) へのポインター。 このサーフェスは 、D3DUSAGE_TEXTAPI フラグを使用して作成する必要があります。

[in] pDst

種類: IDirect3DSurface9*

グリフ データを受け取る宛先サーフェス ( IDirect3DSurface9 によって準備された) へのポインター。 サーフェスはテクスチャの一部である必要があります。

[in] pSrcRectDescs

種類: IDirect3DVertexBuffer9*

ソース サーフェイスで目的のグリフを囲む四角形 (D3DCOMPOSERECTDESC を参照) を含む頂点バッファーへのポインター (IDirect3DVertexBuffer9 を参照)。

[in] NumRects

型: UINT

操作で使用される四角形またはグリフの数。 この数値は、ソース サーフェスとターゲット サーフェスの両方に適用されます。 範囲は 0 ~ D3DCOMPOSERECTS_MAXNUMRECTSです。

[in] pDstRectDescs

種類: IDirect3DVertexBuffer9*

ソース サーフェスから指定されたグリフのコピー先を記述する四角形 (D3DCOMPOSERECTDESTINATION を参照) を含む頂点バッファーへのポインター (IDirect3DVertexBuffer9 を参照)。

[in] Operation

型: D3DCOMPOSERECTSOP

ソース サーフェスとターゲット サーフェスを結合する方法を指定します。 「D3DCOMPOSERECTSOP」を参照してください。

[in] Xoffset

型: INT

すべての変換先の四角形の x 座標に追加された値。 この値に負の値を指定すると、結果がサーフェスの境界を超えた場合にグリフが拒否またはクリップされる可能性があります。

[in] Yoffset

型: INT

すべての変換先の四角形の y 座標に追加された値。 この値に負の値を指定すると、結果がサーフェスの境界を超えた場合にグリフが拒否またはクリップされる可能性があります。

戻り値

型: HRESULT

メソッドが成功した場合、戻り値はD3D_OK。

解説

このメソッドを使用すると、1 ビットソース サーフェスのグリフが別の 1 ビット テクスチャ サーフェスにまとめます。 その後、変換先サーフェスを、テキストの文字列をフィルター処理して他のモノクロ以外のサーフェスにスケーリングする通常のテクスチャ処理のソースとして使用できます。

このメソッドにはいくつかの制約があります ( StretchRect に似ています)。

  • サーフェスをロックできません。
  • ソース サーフェスとターゲット サーフェスを同じサーフェスにすることはできません。
  • ソース サーフェスと変換先サーフェスは、 D3DFMT_A1 形式で作成する必要があります。
  • ソース サーフェスと両方の頂点バッファーは 、D3DPOOL_DEFAULT フラグを使用して作成する必要があります。
  • 宛先サーフェスは、 D3DPOOL_DEFAULTまたはD3DPOOL_SYSTEMMEM フラグを使用して作成 する 必要があります。
  • ソースの四角形は、ソース サーフェス内にある必要があります。
メソッドは状態ブロックに記録されません。

要件

   
対象プラットフォーム Windows
ヘッダー d3d9.h
Library D3D9.lib

関連項目

IDirect3DDevice9Ex