【发布时间】:2012-06-20 18:41:49
【问题描述】:
我们如何将ID3D11Texture2D 转换为内存缓冲区?我有ID3D11Texture2D*,需要从中读取数据到内存缓冲区。
【问题讨论】:
标签: directx-9 directx-11 directx-10
我们如何将ID3D11Texture2D 转换为内存缓冲区?我有ID3D11Texture2D*,需要从中读取数据到内存缓冲区。
【问题讨论】:
标签: directx-9 directx-11 directx-10
您需要创建第二个具有相同格式/大小的纹理,但将其创建为暂存。
CPU 访问标志需要设置为D3D11_CPU_ACCESS_READ
并且使用需要设置为D3D11_USAGE_STAGING。
然后你可以调用ID3D11DeviceContext::CopyResource从纹理复制到暂存的。
然后您调用Map 访问数据。
【讨论】: