C++ DirectX 绘制一个 .PNG Sprite 作为窗口背景

标签 c++ directx

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

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

它使背景变成蓝色,但是否可以替换那条线以便在那里绘制 Sprite ?

或者我应该只在背景上绘制 Sprite 吗?

最佳答案

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

当然,理想情况下,您将使用 Direct3D 11 而不是旧版 Direct3D 9 API 或任何版本的 D3DX。参见 MSDN . SpriteBatchDirectX Tool Kit可以根据 this tutorial 在 Direct3D 11 的背景中轻松绘制全屏图像.

关于C++ DirectX 绘制一个 .PNG Sprite 作为窗口背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34297756/

相关文章:

java - 如何使用 JavaFX 强制使用 gpu?

c++ - 为什么io_service可以不用run()来进行同步操作

c++ - 有趣的范围问题,解释?

android - 暂时以编程方式禁用 Qt 中的屏幕旋转

c++ - 链接问题 DirectX : Linker problem

c++ - DirectX ID3DXEFFECT::BeginPass()/EndPass() 问题

c++ - 如何在 ComboBox 的编辑字段中创建一个按钮?

c++ - 二值图像的特征提取

user-interface - 用于 DirectX 的 GUI API?

c++ - DirectX Clip 空间纹理坐标