0

I have to get (shared memory or GPU memory) the directX render from a windows application called "Myapp" and apply this render (view) to four directX simple applications (only exactly the same view as the first windows application "Myapp")
Someone tells about backbuffer and anothers tells about FrontBufferData
1) How can I get easily the directX render of a directXWindows application in C++ ?
2) How can i Share easily and quickly this render to 4 another DirectX applications in C++ ?

Thanks in advance

stack_nh
  • 1
  • 1

2 Answers2

1
  1. You can never get the rendering data from backbuffer for an 3rd application, the only Interface Microsoft provide is GetFrontBufferData(), this function is the only way to take an antialiased screen shot, and it's very slow.

    • front buffer contains the data currently displayed on your screen.
    • back buffer contains the data being draw, but not present yet.

    when you call Present, DirecX will swap the two buffers by simply change the buffer pointers, thus the front buffer became back buffer now, and the back buffer became front buffer now. this is called surface flipping.

  2. There are many ways to share memory between processes.

Can I ask a question, what do you want to do with the rendering data?

zdd
  • 8,258
  • 8
  • 46
  • 75
0

thanks for your answer.
I just want to post / show the render / view of the application "Myapp" in 4 others directX views without changes (in C++)

stack_nh
  • 1
  • 1