2013-01-01 42 views
0

我有一個directx9設備單獨的窗口。其中一個窗口上有渲染圖像。我想要做的是實際拿到設備'A'圖像並將紋理放置在設備'B的紋理上。這可能嗎?如何從一個設備複製紋理到另一個設備?

我想弄清楚爲什麼下面的代碼不工作,因爲StretchRect只適用於您正在使用的指定設備。

下面的代碼將無法正常工作:

D3DXCreateTexture (B , 32 , 32 , 1 , D3DUSAGE_RENDERTARGET , D3DFMT_A8R8G8B8 , D3DPOOL_DEFAULT , &Texture); 

IDirect3DSurface9 *backBufferSucrface; 
Texture ->GetSurfaceLevel (0 , &backBufferSucrface); 

IDirect3DSurface9* backBufferCurrect; 
A->GetBackBuffer (0 , 0 , D3DBACKBUFFER_TYPE_LEFT , &backBufferCurrect); 

B->StretchRect (backBufferCurrect , 0 , backBufferSucrface , 0 , D3DTEXF_LINEAR); 

backBufferCurrect->Release(); 

我希望能夠做到這一點,但如果這是不可能的,有沒有什麼辦法,我可以使用只使用一臺設備和渲染多個窗口?

回答

相關問題