NVAPI抓屏传递给D3D11(D3D9到D3D11的数据传递)
1、用NVAPI 进行D3D9抓屏,抓屏后创建HANDLE进行数据交换 2、D3D11利用D3D9传入的HANDLE使用OpenSharedResource来打开句柄实现D3D9到D3D11的数据传递 需要的库 1、NVAPI 安装完成后需要运行NVIDIA Capture SDK\bin目录下的NvFBCEnable.exe使能NVFBC抓屏 2、DXSDK_Jun10 坑(虽然已解决但是有没有大神来解释一下原理): D3D9直接传递OffcreenSurface的HANDLE,D3D11在进行某些操作时会导致设备停止工作。解决办法:从新创建了Texture来曲线救国。 抓屏成功后D3D9Device要调用Present(0, 0, 0, 0)来进行数据 提交。否则第一帧D3D11拿到的数据为空。 提交。否则第一帧D3D11拿到的数据为空。
用户评论