如何将ID3D11Texture2D
转换为内存缓冲区?我有ID3D11Texture2D*
,需要将数据从中读取到内存缓冲区。
您需要创建具有相同格式/大小的第二个纹理,但将其创建为暂存。
纹理描述
CPU 访问标志需要设置为D3D11_CPU_ACCESS_READ
并且需要将使用情况设置为 D3D11_USAGE_STAGING
。
然后,您可以调用ID3D11DeviceContext::CopyResource
从纹理复制到暂存纹理。
然后调用Map
来访问数据。