In my link run the other day I found people - locking the d3d backbuffer and streaming it by H264 . - Noting the locking to be a bottle neck and also noting that there is no way in dx9 to grab the front buffer.
I can try and grab more of those links with examples if you like. However, I don't want to add more confusion and a different path to your already deep woods.
PS.: And, another quick question, haven't asked google yet, but how do I get the device context that the Acknex uses? Didn't find any pointers in the manual... Sorry if this is a stupid question.
Manual of note
http://www.conitec.net/beta/adraw_begin.htmhttp://www.conitec.net/beta/ad3d_lockable.htmhttp://www.conitec.net/beta/prog_using_Direct3D.htmhttp://www.conitec.net/beta/bmap_zbuffer.htmhttp://www.conitec.net/beta/render_zbuffer.htmThe LPDIRECT3DSURFACE9 pointer to the created z buffer is available through the render_zbuffer variable.
LPDIRECT3DSURFACE9 and IDIRECT3DSURFACE9 seem analog.So I'm not sure if this is
LPDirect3DDevice9->GetBackBuffer() to obtain the back buffer surface
- use LPDirect3DSurface9->GetDC() to obtain the device context.
None dx9
https://msdn.microsoft.com/en-us/library/windows/desktop/dd144947(v=vs.85).aspx
http://www.conitec.net/beta/hWnd.htmEDIT2 - and just thinking -is possible? create bmap_zbuffer, render screen to it. Then stream that.