0

我必须从名为“Myapp”的 Windows 应用程序获取(共享内存或 GPU 内存)directX 渲染,并将此渲染(视图)应用于四个 directX 简单应用程序(仅与第一个 Windows 应用程序“Myapp”完全相同的视图)
有人讲述backbuffer,其他人讲述FrontBufferData
1) 如何在C++ 中轻松获得directXWindows 应用程序的directX 渲染?
2) 我怎样才能轻松快速地将此渲染共享给另外 4 个 C++ 中的 DirectX 应用程序?

提前致谢

4

2 回答 2

1
  1. 对于第三个应用程序,您永远无法从后台缓冲区获取渲染数据,Microsoft 提供的唯一接口是GetFrontBufferData(),此函数是获取抗锯齿屏幕截图的唯一方法,而且速度非常慢。

    • 前端缓冲区包含当前显示在屏幕上的数据。
    • 后台缓冲区包含正在绘制但尚未出现的数据。

    当您调用 Present 时,DirecX 将通过简单地更改缓冲区指针来交换两个缓冲区,因此前缓冲区现在变成了后缓冲区,而后缓冲区现在变成了前缓冲区。这称为表面翻转。

  2. 有很多方法可以在进程之间共享内存。

我可以问一个问题,你想对渲染数据做什么?

于 2013-07-04T01:47:36.807 回答
0

感谢您的回答。
我只想在其他 4 个 directX 视图中发布/显示应用程序“Myapp”的渲染/视图而无需更改(在 C++ 中)

于 2013-07-04T08:13:50.237 回答