CR的代码文本

all for learning about the world
  订阅 订阅  :: 管理

共享Surface

Posted on 2012-06-18 11:47  mumuliang  阅读(1214)  评论(0编辑  收藏  举报


说,因为GDI GDI+神马的都是以DXGI为基础的,因此呢,可以利用DXGI1.1的Surface接口的GetDC方法在那啥和那啥之间共享DC。

IDXGISurface1::GetDC Method 

另外,其实D3D9 ex也可以和DXGI1.1共享surface。只不过啥,unsynchronized.

有俩例子

http://archive.msdn.microsoft.com/DXGISyncSharedSurf 

http://archive.msdn.microsoft.com/D3D9ExDXGISharedSurf 

 

但这里貌似有个问题,是先拿到surface再拿到dc,也就是说共享的永远是dxgi那头传出来。也就是说。。。嗯。。 

其实俺需要的是一个dc->surface的过程。

 

共享9Ex共享涉及到几个特别的接口: ISurfaceQueue, ISurfaceProducer, and ISurfaceConsumer.

http://msdn.microsoft.com/en-us/library/ee913554.aspx#interoperability_between_direct3d_9ex_and_dxgi_based_apis