标签: directx-9 directx-11 directx-10
我们如何将ID3D11Texture2D转换为内存缓冲区?我有ID3D11Texture2D*,需要从中读取数据到内存缓冲区。
ID3D11Texture2D
ID3D11Texture2D*
答案 0 :(得分:1)
您需要创建具有相同格式/大小的第二个纹理,但将其创建为分段。
Texture description
需要将Cpu访问标志设置为D3D11_CPU_ACCESS_READ 和使用需要设置为D3D11_USAGE_STAGING。
D3D11_CPU_ACCESS_READ
D3D11_USAGE_STAGING
然后你可以调用ID3D11DeviceContext::CopyResource从纹理复制到分段。
ID3D11DeviceContext::CopyResource
然后拨打Map来访问数据。
Map