次の方法で共有


PFND3DDDI_TEXBLT コールバック関数 (d3dumddi.h)

TexBlt 関数は、ソース テクスチャのすべてのサブレベルを含む、ソース テクスチャから宛先テクスチャへのビット ブロック転送 (bitblt) 操作を実行します。

構文

PFND3DDDI_TEXBLT Pfnd3dddiTexblt;

HRESULT Pfnd3dddiTexblt(
  HANDLE hDevice,
  const D3DDDIARG_TEXBLT *unnamedParam2
)
{...}

パラメーター

hDevice

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。

unnamedParam2

pData [in]

テクスチャビット演算のパラメーターを定義する D3DDDIARG_TEXBLT 構造体へのポインター。

戻り値

TexBlt は、テクスチャ ビットレット操作が正常に実行されなかった場合に、S_OKまたは適切なエラー結果を返します。

備考

Microsoft Direct3D ランタイムは、ユーザー モードディスプレイ ドライバーの TexBlt 関数を呼び出して、ソース テクスチャから宛先テクスチャにビットブレット操作を実行するようにドライバーに通知します。 テクスチャには、3 次環境マップを使用することもできます。 ドライバーは、ソース テクスチャ内の D3DDDIARG_TEXBLT 構造体の SrcRect メンバーによって指定された四角形を、移行先テクスチャのD3DDDIARG_TEXBLTの DstPoint メンバーによって指定された場所にコピーする必要があります。 宛先テクスチャとソース テクスチャはそれぞれ、hDstResource および D3DDDIARG_TEXBLT の hSrcResource ハンドル によって識別されます。

MIP マップテクスチャの場合、ドライバーはソース テクスチャに存在するすべての MIP マップ サブレベルもコピーする必要があります。 ソース テクスチャとターゲット テクスチャには、MIP マップ レベルの数が異なる場合があります。 このような状況では、ドライバーは、共通のレベルをコピーする必要があります。 たとえば、256 x 256 ソース テクスチャに 8 つの MIP マップ レベルがあり、宛先が 6 レベルの 64 x 64 テクスチャの場合、ドライバーはソースから 6 つの対応するレベルをコピーする必要があります。 宛先テクスチャの最上位 MIP レベルの寸法は、常にソース テクスチャの最上位 MIP レベルの寸法以下であることに注意してください。

ソース ハンドルと宛先ハンドルは常に最上位のサーフェスを参照し、MIP マップ サブレベルを参照しません。

MIP マップ テクスチャの任意のレベルをコピーするために、ランタイムは代わりにドライバーの Blt 関数を呼び出します。

ソース テクスチャとターゲット テクスチャのピクセル形式は同一であり、一般に、指定されたビットブレット操作は安全に実行できます。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

Blt する

D3DDDIARG_TEXBLT

D3DDDI_DEVICEFUNCS