我想在浮点数中获得两个 3D 向量的点积。但不幸的是,结果是一个向量,而不是一个浮点数。我确实可以使用 访问它的元素vector4_f32
,但我收到一个错误,它不是__m128
float res = XMVector3Dot(a, b).vector4_f32[0];
[]
运算符未定义在XMVECTOR
我想在浮点数中获得两个 3D 向量的点积。但不幸的是,结果是一个向量,而不是一个浮点数。我确实可以使用 访问它的元素vector4_f32
,但我收到一个错误,它不是__m128
float res = XMVector3Dot(a, b).vector4_f32[0];
[]
运算符未定义在XMVECTOR
XMVECTOR
您可以使用XMVectorGetX
、XMVectorGetY
和访问XMVectorGetZ
单个元素XMVectorGetW
。但请记住,这些操作更可能是昂贵的操作,因为 DirectXMath 使用 SIMD 指令集。欲了解更多信息:
2:比预期贵