我想知道是否可以在我的DirectX窗口中绘制.PNG精灵作为背景我目前的设置如下:
d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(255, 0, 40, 100), 1.0f, 0);
它使背景变成蓝色,但是可以替换那条线,以便在那里画一个精灵吗?
或者我应该只在背景上绘制精灵?
答案 0 :(得分:0)
要覆盖背景,只需渲染全屏精灵。在这种情况下,您不需要Clear
渲染目标的颜色部分,因为您将绘制每个像素。您仍然将Clear
与D3DCLEAR_STENCIL
和/或D3DCLEAR_ZBUFFER
一起使用,并且您应该在不写入或读取z缓冲区(如果有)的情况下绘制精灵。
当然,理想情况下,您使用的是Direct3D 11而不是传统的Direct3D 9 API或任何版本的D3DX。见MSDN。 DirectX Tool Kit中的SpriteBatch
可以根据this tutorial轻松在后台为Direct3D 11绘制全屏图片。