XMVECTOR 数据类型

一种可移植类型,用于表示四个 32 位浮点或整数分量的矢量,每个分量都以最佳方式对齐并映射到硬件矢量寄存器。

备注

有关在 C++ 中编程时可用的 XMVECTOR 其他功能(如构造函数和运算符)的列表,请参阅 XMVECTOR 扩展

在 DirectXMath 库中,为了完全支持可移植性和优化, XMVECTOR 根据设计,是一种不透明类型。 的实际实现 XMVECTOR 依赖于平台。

通常,代码不应依赖于 的任何给定平台特定实现的详细信息 XMVECTOR。 特定于平台的实现具有以下特征:

  • 它们不可移植。
  • 它们可能会在版本之间更改。
  • 不合理地使用实现细节可能欠佳。

开发人员应使用 DirectXMath 库的访问 加载存储 函数来获取和设置向量,并使用 DirectXMath 库 4D 矢量函数 来操作它们。

对于需要有关如何在不同平台上实现XMVECTOR的详细信息的项目,请参阅库内部。

编译器别名

DirectXMath.h 头文件使用 对象的别名 XMVECTOR ,特别是 CXMVECTORFXMVECTOR。 标头使用这些别名来符合不同编译器的最佳内联调用约定。 对于使用 DirectXMath 的大多数项目,将这些类型视为 的确切别名 XMVECTOR就足够了。

例如:

[CDATA[
typedef const XMVECTOR FXMVECTOR;
typedef const XMVECTOR CXMVECTOR;
]]

对于需要不同平台如何处理其调用约定的详细信息的项目,请参阅 库内部

对于 XNAMATH 2.x, XMVECTOR 数据类型具有 .x、.y、.z、.和 .w 元素成员,这通常会导致性能不佳。 使用 XM_STRICT_VECTOR4 类型可提供不透明数据类型的 DirectXMath 定义的选择加入。

命名空间:使用 DirectX

平台要求

Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012 以及 Windows SDK for Windows 8。 支持 Win32 桌面应用、Windows 应用商店应用和 Windows Phone 8 应用。

要求

要求
标头
DirectXMath.h

另请参阅

DirectXMath 库类型

XMVECTORI32 数据类型

XMVECTORF32 数据类型

XMVECTORU32 数据类型

XMVECTORU8 数据类型

XMVECTOR 数据类型