c++ - CopyResource 从一个 D3D11 设备到另一个

标签 c++ textures direct3d direct3d11

我可以使用 ID3D11DeviceContext::CopyResource 将内容从 D3D11 纹理复制到另一个纹理。该方法属于特定设备的直接上下文,因此我无法将纹理从一个设备复制到另一个设备(我已经尝试过 - 它按预期爆炸说

"D3D11 CORRUPTION: ID3D11DeviceContext::CopyResource: First parameter does not match device. [ MISCELLANEOUS CORRUPTION #13: CORRUPTED_PARAMETER1]"

).

是否有任何 D3D11 内置方法可以执行此操作,或者我必须通过暂存纹理下载数据并将其上传到其他设备?

最佳答案

要将资源从一台设备复制到另一台设备,您需要使用 DXGI Shared Surfaces。参见 Surface Sharing Between Windows Graphics APIs .

请记住,在一般情况下,设备可能没有任何共同的物理内存或硬件。

关于c++ - CopyResource 从一个 D3D11 设备到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28456783/

相关文章:

c++ - 使用 MSVC++ 9 进行 C 编程的建议

c++ - 为什么声明/定义必须都在 C++ 模板类的源文件中?

c++ - 错误 : redefinition of default parameter : parameter 3 but not redefining?

javascript - 将顶点数据打包到 WebGL 纹理中

android - 视频纹理 : Augmented Reality Framework for Android

graphics - 变换 Direct3D 网格

c++ - ID3D10Device::RSSetState 每帧调用?

ffmpeg - 为什么用d3d9渲染视频时视频中的字符模糊

C++ 虚拟析构函数崩溃

java - Minecraft 模组 1.7.10 纹理未显示