繁体   English   中英

如何在 windows 上捕获桌面,以便捕获 DirectX 和正常渲染的屏幕部分?

[英]How to capture desktop on windows so that it would capture both directX and normally rendered parts of screen?

简单的例子 - 一方面我们看到通过标准软件渲染的相机渲染“输入”另一方面(标记为“输出”)通过一些directX东西渲染(至少在我看来):

在此处输入图像描述

那么windows api提供什么function或DirectX Z8A5DA52ED12647217D359E70A8这样的混合场景?

TightVNC Server 可以做到,你可能想看看他们在做什么。 从他们的源代码看一眼,看起来他们正在创建一个镜像主屏幕的虚拟屏幕。 具体来说,请查看CreateCompatibleDCCreateDIBSection API

据我所知,没有直接的方法来捕获 DirectX 渲染区域,尽管我们可以在屏幕上看到它。 因为真正的渲染动作(又名渲染指令)发生在硬件层。 所以标准 SDK 中的 API 无法知道最终渲染结果,从而导致黑色方块。

唯一的办法可能是寄希望于渲染层(例如 DirectX 引擎)本身可以支持 output 接口以及底层渲染动作。 所以我建议检查一些文档以查找是否确实存在。

DirectX 可以呈现给您提供的 window 的有限部分,使您能够在较大的 windows 中创建小区域的 DX 内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM