ID2D1SpriteBatch::AddSprites メソッド (d2d1_3.h)

このスプライト バッチの末尾に、指定されたスプライトを追加します。

構文

HRESULT AddSprites(
                 UINT32                  spriteCount,
  [in]           const D2D1_RECT_F       *destinationRectangles,
  [in, optional] const D2D1_RECT_U       *sourceRectangles,
  [in, optional] const D2D1_COLOR_F      *colors,
  [in, optional] const D2D1_MATRIX_3X2_F *transforms,
                 UINT32                  destinationRectanglesStride,
                 UINT32                  sourceRectanglesStride,
                 UINT32                  colorsStride,
                 UINT32                  transformsStride
);

パラメーター

spriteCount

型: UINT32

追加するスプライトの数。 これにより、Direct2D が読み取る各配列へのストライドの数が決まります。

[in] destinationRectangles

型: const D2D1_RECT_F*

宛先デバイス コンテキストでスプライトを描画する場所を指定する宛先の四角形を含む配列へのポインター。

[in, optional] sourceRectangles

型: const D2D1_RECT_U*

スプライトとして描画するソース ビットマップの領域を指定するソース四角形を含む配列へのポインター。 Direct2D では、null 値または InfiniteRectU が割り当てられているスプライトにソース ビットマップ全体が使用されます。 このパラメーターを完全に省略するか、null 値に設定すると、Direct2D は追加されたすべてのスプライトにソース ビットマップ全体を使用します。

[in, optional] colors

型: const D2D1_COLOR_F*

各スプライトに適用する色を含む配列へのポインター。 出力色は、ソース ビットマップの色と指定された色のコンポーネントごとの乗算の結果です。 出力色はクランプされません。

Direct2D では、null 値が割り当てられているスプライトの色は変更されません。 このパラメーターを完全に省略するか、null 値に設定した場合、Direct2D は追加されたスプライトの色を変更しません。

[in, optional] transforms

型: const D2D1_MATRIX_3X2_F*

各スプライトの変換先の四角形に適用する変換を含む配列へのポインター。

Direct2D では、null 値が割り当てられているスプライトの変換先の四角形は変換されません。 このパラメーターを完全に省略するか、null 値に設定した場合、Direct2D は追加されたスプライトの変換先の四角形を変換しません。

destinationRectanglesStride

型: UINT32

destinationRectangles 配列内の各四角形間の距離をバイト単位で指定します。 ストライドを 0 にした場合は、追加されたスプライトごとに同じターゲット四角形が使用されます。

sourceRectanglesStride

型: UINT32

sourceRectangles 配列内の各四角形間の距離をバイト単位で指定します (その配列が指定されている場合)。 ストライドを 0 にした場合は、追加されたスプライトごとに同じソース四角形が使用されます。

colorsStride

型: UINT32

colors 配列の各色間の距離をバイト単位で指定します (その配列が指定されている場合)。 ストライドを 0 にした場合、追加されたスプライトごとに同じ色が使用されます。

transformsStride

型: UINT32

transforms 配列内の各変換間の距離をバイト単位で指定します (その配列が指定されている場合)。 ストライドを 0 にした場合、追加されたスプライトごとに同じ変換が使用されます。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

Direct2D では、スプライトは、変換先の四角形、ソース四角形、色、変換の 4 つのプロパティによって定義されます。 変換先の四角形は必須ですが、残りのプロパティは省略可能です。

メモ 使用しないプロパティには、常に null 値を省略するか、渡します。 これにより、Direct2D では、これらのプロパティの値の格納を回避し、処理を完全にスキップできるため、描画速度が向上します。 たとえば、500 個のスプライトのバッチがあり、その変換先の四角形を変換したくないとします。 ID マトリックスの配列を渡すのではなく、単に transforms パラメーターを省略します。 これにより、Direct2D は変換の格納を回避でき、描画パフォーマンスが最も高速になります。 一方、バッチ内のスプライトにプロパティに値が設定されている場合、内部的に Direct2D はそのプロパティ配列の領域を割り当て、すべてのスプライトにそのプロパティの値を割り当てる必要があります (既定値である場合でも)。
 

要件

要件
対象プラットフォーム Windows
ヘッダー d2d1_3.h
Library D2d1.lib
[DLL] D2d1.dll

こちらもご覧ください

ID2D1SpriteBatch