DX怎样进行向量运算

时间:2024-10-25 06:44:03

在使用 DirectX 11 进行游戏开发时,需要进行大量的向量运算。那么,在 D坡纠课柩irectX 11中,该怎样进行向匪犬挚驰量运算,又需要包含哪些头文件,链接哪些库呢?下面,我就以现在市面上最流行的 VS2013为例,通过实例来教大家具体该怎么做。

工具/原料

VS2013

一、头文件、库文件

1、要在 DirectX 11 中进行向量运算,需要链接库文件 D3DX11.lib,包含头文件 D3DX11.h,以及 XNAMATH.h。

DX怎样进行向量运算

2、当然了,由于需要输入输出,iostream 头文件是必不可少的。另外,为了输出格式整齐美观,我们增加一个头文件 iomanip.h。

DX怎样进行向量运算

3、最后,为了输出的方便,我们重载了 XMVECTOR 的 << 操作符。

DX怎样进行向量运算

二、定义XMVECTOR类型变量

1、在 DirectX 11 中,需要使用 XNAMATH 数学库来进行向量运算。在 XNAMATH 数学库中,提供了一个“通用类型向量“XMVECTOR,它可在各种类型的2D、3D、4D向量以及浮点数之间进行转换,极大地方便了我们的操作。

2、在定义 XMVECTOR 对象之前,我们可先定义一个具体的2D、3D、4D向量(比如带 3 个分量的 XMFLOAT3 类型),然后再蕉浔恨缝由定义好的对象构造(转换为) XMVECTOR 对象。下面的示例代码演示了怎样用 XMFLOAT3 构造两个 XMVECTOR 对象 u 和 v。

DX怎样进行向量运算

三、进行向量运算

1、首先,我们求向量长度和将向量单位化。

DX怎样进行向量运算

2、再进行向量的加减法操作和标量乘法操作。

DX怎样进行向量运算

3、接下来求点积和叉积。

DX怎样进行向量运算

4、最后,我们格式化输出以上运算结果。

DX怎样进行向量运算

5、程序运行的结果如图所示。

DX怎样进行向量运算
© 手抄报圈