1
我想获得浮点型两个3D向量的点积。但不幸的是,结果是一个向量,而不是一个浮点数。我修整访问它的使用vector4_f32
的元素,但我得到一个错误,这不是的__m128
如何从XMVECTOR获取浮点值? (DirectXMath)
float res = XMVector3Dot(a, b).vector4_f32[0];
成员的[]
运营商未在XMVECTOR
我想获得浮点型两个3D向量的点积。但不幸的是,结果是一个向量,而不是一个浮点数。我修整访问它的使用vector4_f32
的元素,但我得到一个错误,这不是的__m128
如何从XMVECTOR获取浮点值? (DirectXMath)
float res = XMVector3Dot(a, b).vector4_f32[0];
成员的[]
运营商未在XMVECTOR
定义您可以通过访问XMVECTOR
单个元素XMVectorGetX
,XMVectorGetY
,XMVectorGetZ
和XMVectorGetW
。但请记住,由于DirectXMath使用SIMD指令集,因此这些更可能是昂贵的操作。欲了解更多信息:
你也可能想看看[SimpleMath](https://github.com/Microsoft/DirectXTK/wiki/SimpleMath )DirectXMath的包装器。 –