这可能吗?我们的想法是将场景渲染为虚拟网络摄像头(虚拟网络摄像头本身就是一个简单的部分)。我的工作基于DirectShow SDK和D3D11游戏样本的PushSource示例。
我知道我已经可以将DIB字节复制到IMediaStream示例提供的指针,但有没有办法将其用作渲染目标?或者我最好以某种方式在屏幕外渲染并锁定D3D渲染目标并将其复制到其上?如果是这样,我该如何正确初始化Direct3D呢?如何将锁定的rect字节转换为正确的格式?
编辑:所以,我想出了无窗口渲染部分。我的下一个问题是我可以将指针设置为DIB作为渲染目标,如果没有,那么我将如何将D3D11Texture2D转换为可用的格式?
答案 0 :(得分:0)
解决。答案是使用Texture2d作为渲染目标,获取它的资源,并逐行将资源的pData复制到缓冲区并从中生成DiB。