これで、pBackBuffer というバックバッファ ポインタを取得できます。
m_pDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO,
IREF_GETPPTR(pBackBuffer,IDirect3DSurface9));
次に、システム メモリに pSurfTemp という名前のサーフェスを作成します。
m_pDevice->CreateOffscreenPlainSurface(
g_Proc.m_Stats.m_SizeWnd.cx, g_Proc.m_Stats.m_SizeWnd.cy,
s_bbFormat, D3DPOOL_SYSTEMMEM,
IREF_GETPPTR(pSurfTemp,IDirect3DSurface9), NULL );
次に、バックバッファデータを取得します
m_pDevice->GetRenderTargetData(pBackBuffer, pSurfTemp);
データは次のように変換されているようです: videoMemory->systemMemory
次のステップは、ビデオ メモリ内のデータを再度操作することなので、システム メモリからビデオ メモリにデータをコピーします。時間を無駄にします。
ビデオメモリ内のデータをコピーしたいのですが、どうすればいいですか?