如何从XMVECTOR获取浮点值? (DirectXMath)

时间:2017-10-21 12:42:15

标签: c++ directx directxmath

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

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

[]

未定义XMVECTOR运算符

1 个答案:

答案 0 :(得分:4)

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

1:XMVector3Dot performance

2:Expensive than expected