C ++ DirectX将.PNG精灵绘制为窗口背景

时间:2015-12-15 19:29:01

标签: c++ directx

我想知道是否可以在我的DirectX窗口中绘制.PNG精灵作为背景我目前的设置如下:

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

它使背景变成蓝色,但是可以替换那条线,以便在那里画一个精灵吗?

或者我应该只在背景上绘制精灵?

1 个答案:

答案 0 :(得分:0)

要覆盖背景,只需渲染全屏精灵。在这种情况下,您不需要Clear渲染目标的颜色部分,因为您将绘制每个像素。您仍然将ClearD3DCLEAR_STENCIL和/或D3DCLEAR_ZBUFFER一起使用,并且您应该在不写入或读取z缓冲区(如果有)的情况下绘制精灵。

当然,理想情况下,您使用的是Direct3D 11而不是传统的Direct3D 9 API或任何版本的D3DX。见MSDNDirectX Tool Kit中的SpriteBatch可以根据this tutorial轻松在后台为Direct3D 11绘制全屏图片。