在X ++中使用directX捕获渲染器

时间:2013-07-03 15:56:21

标签: view directx capture

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

提前致谢

2 个答案:

答案 0 :(得分:1)

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

    • 前缓冲区包含当前显示在屏幕上的数据。
    • 后台缓冲区包含正在绘制的数据,但尚不存在。

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

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

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

答案 1 :(得分:0)

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