1

これで、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

次のステップは、ビデオ メモリ内のデータを再度操作することなので、システム メモリからビデオ メモリにデータをコピーします。時間を無駄にします。

ビデオメモリ内のデータをコピーしたいのですが、どうすればいいですか?

4

1 に答える 1