【问题标题】:Direct3D 11 windowless render to DIB (for use in IMediaSample upstream)Direct3D 11 无窗口渲染到 DIB(用于上游 IMediaSample)
【发布时间】:2016-05-18 05:49:41
【问题描述】:

这可能吗?这个想法是将场景渲染为虚拟网络摄像头(虚拟网络摄像头本身是微不足道的部分)。我的工作基于 DirectShow SDK 中的 PushSource 示例和 D3D11 游戏示例。

我知道我已经可以将 DIB 字节复制到 IMediaStream 示例提供的指针,但是有没有办法将它用作渲染目标?还是我最好以某种方式渲染屏幕外并锁定 D3D 渲染目标并复制它的字节?如果是这样,我该如何正确初始化 Direct3D?以及如何将锁定的 rect 字节转换为正确的格式?

编辑:所以,我想出了无窗口渲染部分。我的下一个问题是我可以将指向 DIB 的指针设置为渲染目标吗?如果不能,我将如何将 D3D11Texture2D 转换为可用格式?

【问题讨论】:

    标签: directx directshow directx-11 direct3d direct3d11


    【解决方案1】:

    解决了。答案是使用 Texture2d 作为渲染目标,获取它的资源,然后将资源的 pData 逐行复制到缓冲区,并从中制作 DiB。

    http://www.cleoag.ru/2013/05/12/directx-texture-hbitmap/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 2021-04-12
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多