2015-12-15 61 views
0

我在想,如果我可以在我的DirectX窗口中繪製一個。PNG精靈作爲背景目前,我有它的設置是這樣的:C++的DirectX繪製。PNG子畫面作爲窗口背景

d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 0, 40, 100), 1.0f, 0); 

這使得背景一種偏藍的顏色,但它可能取代那條線,所以它在那裏畫一個精靈呢?

或者我應該只是在背景上繪製精靈的頂部?

回答

0

要覆蓋背景,只需渲染一個全屏精靈。在這種情況下,您不需要渲染目標的顏色部分,因爲您將繪製每個像素。您仍然使用ClearD3DCLEAR_STENCIL和/或D3DCLEAR_ZBUFFER,您應該繪製精靈而不寫入或讀取z緩衝區(如果有)。

當然,理想情況下,您將使用Direct3D 11而不是傳統的Direct3D 9 API或任何版本的D3DX。見MSDN。根據this tutorialDirectX Tool Kit中的SpriteBatch可以在Direct3D 11的背景中輕鬆繪製全屏圖像。