【问题标题】:Resizing Texture before sending to SinkWriter SharpDX在发送到 SinkWriter SharpDX 之前调整纹理大小
【发布时间】:2018-06-13 03:33:26
【问题描述】:

我正在开发屏幕录制应用程序。我的问题是我需要在使用 CreateDXGISurfaceBuffer 制作样本之前调整 Texure2d 的大小。我是 Mediafoundation 的新手,在阅读文档后,我在网站上找不到任何示例代码。我正在使用 IDXGIOutput1::DuplicateOutput 来获取屏幕纹理。有没有更好的方法来调整纹理大小而不影响性能?

【问题讨论】:

  • 你的意思是纹理内容插值还是只是纹理尺寸改变?
  • 这是实际情况。我抓取全屏桌面图像并将其存储到具有屏幕分辨率精确尺寸的纹理中。我现在需要做的是在制作媒体基础样本之前调整纹理大小。就像用新的维度光栅化纹理一样。可能比原来的更大或更小。我相信 Video Processor MFT 是解决方案,但我不知道从哪里开始,因为这是我第一次与 Media Foundation 合作。

标签: directx directx-11 ms-media-foundation sharpdx dxgi


【解决方案1】:

Video Processor MFT 可以缩放你的纹理。在启用 Direct3D 11 的模式下使用它时,它会使用 GPU 进行缩放。你用纹理喂IMFSample 并获得带有缩放纹理的IMFSample

尽管它不是完整的示例,this code snippet 可能会提供有关所涉及的接口方法的想法。

您也可以在 StackOverflow 上找到相关问题:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 2012-12-01
    • 2018-11-05
    • 1970-01-01
    相关资源
    最近更新 更多