Windows 8 windows应用商店应用程序编程中3d向量的组件式乘法

Windows 8 windows应用商店应用程序编程中3d向量的组件式乘法,windows-8,directx,windows-store-apps,directx-11,directxmath,Windows 8,Directx,Windows Store Apps,Directx 11,Directxmath,如何对两个3d矢量进行分量相乘?微软似乎没有在DirectXMath.h中提供这样的功能,微软在那里做什么?在旧的SDK(DX 10/9)中,我可以直接将两个向量的乘积表示为: v3=v1*v2 或将向量乘以标量,如: v2=v1*1.0f 但是现在,XMVECTOR类型没有运算符*,所以我不能这样做。因此,我需要手动制作该产品 v3=(v1.x*v2.x+v1.y*v2.y+v1.z*v2.z) 虽然没有那么困难,但我认为DirectXMath应该提供这样一个基本功能。点积可以通过XMVect

如何对两个3d矢量进行分量相乘?微软似乎没有在DirectXMath.h中提供这样的功能,微软在那里做什么?在旧的SDK(DX 10/9)中,我可以直接将两个向量的乘积表示为:

v3=v1*v2

或将向量乘以标量,如:

v2=v1*1.0f

但是现在,XMVECTOR类型没有运算符*,所以我不能这样做。因此,我需要手动制作该产品

v3=(v1.x*v2.x+v1.y*v2.y+v1.z*v2.z)


虽然没有那么困难,但我认为DirectXMath应该提供这样一个基本功能。

点积可以通过
XMVector*dot
方法实现

msdn上存在良好页面,方法列表如下:


另外,我认为微软没有让operator*覆盖,因为它不清楚该操作员应该使用哪种产品-点或叉积。

非常感谢,我确信我看到了XMVector3Dot,但在我看来,点积的结果是标量的(就像D3DXVec3Dot那样),但现在微软将结果作为向量。我没有意识到这个变化,所以我错过了这个功能。