ID3D11Device3::ReadFromSubresource メソッド (d3d11_3.h)
NULL D3D11_MAPPED_SUBRESOURCE パラメーターを指定しながら、ID3D11DeviceContext3::Map を使用してマップされた D3D11_USAGE_DEFAULT テクスチャからデータをコピーします。
構文
void ReadFromSubresource(
[out] void *pDstData,
[in] UINT DstRowPitch,
[in] UINT DstDepthPitch,
[in] ID3D11Resource *pSrcResource,
[in] UINT SrcSubresource,
[in, optional] const D3D11_BOX *pSrcBox
);
パラメーター
[out] pDstData
型: void*
メモリ内の宛先データへのポインター。
[in] DstRowPitch
型: UINT
コピー先データの 1 行のサイズ。
[in] DstDepthPitch
型: UINT
コピー先データの 1 つの深度スライスのサイズ。
[in] pSrcResource
種類: ID3D11Resource*
ソース リソースへのポインター ( 「ID3D11Resource」を参照)。
[in] SrcSubresource
型: UINT
宛先サブリソースを識別する 0 から始まるインデックス。 詳細については、「 D3D11CalcSubresource」を参照してください。
[in, optional] pSrcBox
型: const D3D11_BOX*
リソース データのコピー元となるコピー先サブリソースの部分を定義するボックスへのポインター。 NULL の場合、データはオフセットなしで宛先サブリソースから読み取られます。 変換先のディメンションは、変換先に合っている必要があります ( D3D11_BOXを参照)。
空のボックスを使用すると、操作が不要になります。 上の値が下の値以上の場合、または左の値が右の値以上であるか、前面の値が戻り値以上の場合、ボックスは空になります。 ボックスが空の場合、このメソッドは操作を実行しません。
戻り値
なし
解説
指定されたリソースは、NULL D3D11_MAPPED_SUBRESOURCE パラメーターを指定するときに ID3D11DeviceContext3::Map の以前の呼び出しによって書き込み用にマップされた D3D11_USAGE_DEFAULT テクスチャである必要があります。
この API は、高頻度で を呼び出すことを目的としています。 呼び出し元は、各呼び出し中に小さなバッファーを提供しながら、テクスチャのプログレッシブ 領域を更新する反復呼び出しを行うことでメモリを削減できます。 ただし、十分な大きさの領域を指定するのが最も効率的です。これは、D3D が返される前にテクスチャ内のキャッシュ ライン全体を埋め込むためです。
効率を高める場合は、ボックス内のエクステントの境界と配置が (64 / [ピクセルあたりのバイト数] ) ピクセルの水平方向であることを確認します。 垂直方向の境界と配置は 2 行にする必要があります。ただし、ピクセル単位の 1 バイト形式が使用されている場合を除き、4 行をお勧めします。 呼び出しごとに 1 つの深度スライスが効率的に処理されます。 128 バイトでアラインされたポインターとストライドを提供することは推奨されますが、必須ではありません。
サブミップマップ レベルから読み取る場合は、上記よりも大きな幅と高さを使用することをお勧めします。 これは、小さなミップマップ レベルが実際には大きなメモリ ブロック内に格納され、オフセット量が不透明になり、キャッシュ ラインへの配置に干渉する可能性があるためです。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | d3d11_3.h |
Library | D3D11.lib |