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();
我希望能夠做到這一點,但如果這是不可能的,有沒有什麼辦法,我可以使用只使用一臺設備和渲染多個窗口?
我做了一些研究,它看起來像D3DXLoadSurfaceFromSurface真的很好。無論如何,因爲它涉及到另一個問題。 – User