4

我无法找到该D3DXCOLOR结构,它似乎不再存在于 DirectX 11.1 ( d3d11_1.h) 中。我一直在寻找它的平等,但没有运气。有人可以帮我吗?如果它发生了很大变化,你能告诉我如何使用它吗?

4

4 回答 4

10

我对此完全是个菜鸟,我也遇到了他们使用它的示例教程的问题。因此,经过数小时的网络搜索。鼓乐多田....

这是我在代码中转换它的方式

旧代码

// clear the back buffer to a deep blue
 devcon->ClearRenderTargetView(backbuffer, D3DXCOLOR{ 0.0f, 0.2f, 0.4f, 1.0f };

新代码

// clear the back buffer to a deep blue
float color[4] = { 0.0f, 0.2f, 0.4f, 1.0f };
devcon->ClearRenderTargetView(backbuffer, color);
于 2013-03-10T16:18:27.483 回答
10

使用 XMCOLOR。它位于 DirectXPackedVector.h

于 2013-07-11T12:38:42.450 回答
2

声明一次怎么样

using RGBA = float[4]; //c++11

或者

typedef float RGBA[4]; //pre-c++11

然后像这样在需要的地方使用

devcon->ClearRenderTargetView(backbuffer, RGBA{0.0f, 0.2f, 0.4f, 1.0f});
于 2015-06-30T23:33:09.970 回答
0

D3DX 或 DirectX 实用程序库已被删除,微软希望您使用 XNA 数学库对应物(使用 SSE 和东西,但在我的情况下,它有时会崩溃,所以我停止使用它)

于 2013-07-11T07:47:55.580 回答