总结了下DXMath库中针对对向量类型XMVECTOR及矩阵XMMATRIX类型(这里XM含义为XNA Math)的相关函数,归纳在下面的代码中,相信有一定线性代数知识的话,就能轻松了解运用
#include<windows.h>
#include<DirectXMath.h>
#include<DirectXPackedVector.h>
#include<iostream>
using namespace std;
using namespace DirectX;
using namespace DirectX::PackedVector;
int main()
{
if (!XMVerifyCPUSupport())//是否支持DX的SSE2指令集
{
cout << "DX not supported" << endl;
return 0;
}
//以下为DXMath库中向量的各种获取函数
XMVECTOR xmvE1 = XMVectorZero();//返回零向量
XMVECTOR xmvE2 = XMVectorSplatOne();//返回向量(1,1,1,1)
XMVECTOR xmvE3 = XMVectorSet(1.0f, 2.0f, 3.0f, 0.0f);//Set向量
XMVECTOR xmvE4 = XMVectorReplicate(-2.0f);//返回(-2.0f,-2.0f,-2.0f,-2.0f)向量
XMVECTOR xmvE5 = XMVectorSplatZ(xmvE3);//返回xmvE3的分量Z,(xmvE3.z,xmvE3.z,xmvE3.z,xmvE3.z)向量,剩下的一样的
//以下为DXMath库中向量的各种计算函数
XMVECTOR xmvN = XMVectorSet(0, 0, 0, 0);
XMVECTOR xmvU = XMVectorSet(0, 0, 0, 0);
XMVECTOR xmvA = xmvN + xmvU;
XMVECTOR xmvB = xmvN - xmvU;
XMVECTOR xmvC =