将ID3D11Texture2D转换为内存缓冲区



如何将ID3D11Texture2D转换为内存缓冲区?我有ID3D11Texture2D*,需要将数据从中读取到内存缓冲区。

您需要创建具有相同格式/大小的第二个纹理,但将其创建为暂存。

纹理描述

CPU 访问标志需要设置为D3D11_CPU_ACCESS_READ并且需要将使用情况设置为 D3D11_USAGE_STAGING

然后,您可以调用ID3D11DeviceContext::CopyResource从纹理复制到暂存纹理。

然后调用Map来访问数据。

最新更新