2011-03-21 73 views
1

根据该文件,甚至与设备相关的资源渲染目标之间共享时,这些渲染目标满足一定的条件。我是否需要重新创建Direct2D可共享资源?

假设我有两个RenderTargets(RT1 & RT2),其满足这些条件。我用RT1创建一个新的设备相关的资源(ResourceA),两者RT1 & RT2使用这个资源做一些拉伸。

现在,当我与RT1做,我得到D2DERR_RECREATE_TARGET这意味着我必须重新RT1和再次战平。

我的问题是,我要重新创建RT1创建的ResourceA?

回答

3

简短的回答:是的,这是用RT1将需要创建的任何资源时,遇到D2DERR_RECREATE_TARGET重建。

龙答:D2D资源可以从同一个工厂之际,D2D工厂维持到底层D3D设备的内部连接,它的资源的所有RenderTargets之间共享。 ID2D1RenderTargets实际上就是ID3DTexture2Ds。因此,当d3d纹理失效时,所有使用底层d3d设备创建的资源也必须重新创建。