Helios, iControl, and other are showing that there is GREAT interest in external instruments for ALL of your products, yet MFCD export is lacking. If ED trotted out a DCS-specific api where a process can connect and grab some 256x256 or 512x512 frames, we (as in, simpit builders) could then make an external programs/devices to connect and get the data without taking an FPS hit :-)
The layout of the API would be simple - just connect to a socket, and specify what image data you want (left/right mfcd, rwr, etc). (The lua export is already most way there.) And then you keep receiving frame/image data until the connection is dropped.
To make it *extra* easy, I'll tell you how to implement it in DirectX9! :thumbup:
I'm assuming that the MFDs are implemented as a surface render-to-texture operation. You can copy the surface from the GPU back into system memory using one of the methods: D3DXSaveSurfaceToFileInMemory or the IDirect3DDevice9::GetRenderTargetData methods would do nicely (there may be other ways to pull it off.) Either way, you end up with a system memory structure that can now be exported via api/network transfer.
This could be VERY easy to perform every other frame, if bandwidth becomes an issue (which I doubt, we're talking about 192k for 256x256, or 768k for 512x512, raw RGB with no compression - nobody needs the alpha) data export could be staggered to capture/export just half the data on alternate frames.
Even if it's just the graphical instruments, this would be a very simple, yet HUGE improvement that will reap lots of community support/addons for sim-pit builders of all types. :pilotfly: