0

如何对两个 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 应该提供这样一个基本功能。

4

1 回答 1

2

The dot product can be achieved with XMVector*Dot method. MSDN link for dot3product.

And the good page exists on msdn with methods list: MSDN

Also, I think that Microsoft didn't make operator* override because it is not clear which product this operator should use - dot or cross product.

于 2013-03-24T18:26:03.290 回答