2

我想在浮点数中获得两个 3D 向量的点积。但不幸的是,结果是一个向量,而不是一个浮点数。我确实可以使用 访问它的元素vector4_f32,但我收到一个错误,它不是__m128

float res = XMVector3Dot(a, b).vector4_f32[0];

[]运算符未定义在XMVECTOR

4

1 回答 1

4

XMVECTOR您可以使用XMVectorGetXXMVectorGetY和访问XMVectorGetZ单个元素XMVectorGetW。但请记住,这些操作更可能是昂贵的操作,因为 DirectXMath 使用 SIMD 指令集。欲了解更多信息:

1:XMVector3Dot 性能

2:比预期贵

于 2017-10-21T13:06:29.343 回答