Directx 11.1中新的D3DXCOLOR结构等效替代品是什么?

4

我在寻找D3DXCOLOR结构体时遇到了麻烦,似乎在DirectX 11.1 (d3d11_1.h)中已不再存在。 我已经搜索过类似的替代品,但没有找到。有人能帮我吗?如果它发生了很大变化,你也能告诉我如何使用它吗?

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);

10

使用XMCOLOR。它位于DirectXPackedVector.h中。


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});

0

D3DX或DirectX实用程序库已被移除,取而代之的是微软希望您使用XNA Math Library的对应项(使用SSE等技术,但在我的情况下有时会崩溃,所以我停止使用它)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接