如何进行两个3d矢量的分量乘法?似乎MS没有在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应该提供这样一个基本功能。
答案 0 :(得分:2)
可以使用XMVector*Dot
方法实现点积。 MSDN link for dot3product。
好的页面存在于msdn上,方法列表为:MSDN
此外,我认为微软没有制作运营商*覆盖,因为不清楚该运营商应该使用哪种产品 - 点或交叉产品。