XMU555::XMU555 (constfloat*,bool) 函数 (directxpackedvector.h)

从三个元素float数组和bool一个参数初始化 XMU555 的新实例。

此构造函数从三个元素float数组初始化 XMU555 的新实例, (指定 x、y 和 z 分量) 和一个bool参数 (指定 w 组件) 。

注意 这仅适用于基于 C++ 的开发。

语法

void XMU555(
  const float *pArray,
  bool        _w
) noexcept;

参数

pArray

三个元素浮点数组,其中包含用于初始化 XMU555 新实例的 x、y 和 z 分量的值。

_w

实例的 w-component 的值。

返回值

备注

数组元素和 _w 参数映射到 XMU555 新实例的向量组件,如下所示:

XMU555 成员 参数 范围
x pArray[0] 0.0, 31.0
y pArray[1] 0.0, 31.0
z pArray[2] 0.0, 31.0
w _w 0.0, 1.0

在分配给 XMU555 的相应成员之前,构造函数的参数将被固定到允许的范围。

以下伪代码演示此构造函数的操作,该构造函数利用 XMU555 矢量的四个组件与结构定义中的 uint16_t 实例的并集:

XMU555 instance;
_x1=min( max( pArray[0], 0.0 ), 31.0 );
_y1=min( max( pArray[1], 0.0 ), 31.0 );
_z1=min( max( pArray[2], 0.0 ), 31.0 );
_w1=min( max( _w, 0 ), 1 );

instance.v =  (((uint16_t)_w1 ? 0x8000 : 0) |
              (((uint16_t)_z1 & 0x1F) << 10) |
              (((uint16_t)_y1 & 0x1F) << 5) |  
              (((uint16_t)_x1 & 0x1F)));

要求

   
目标平台 Windows
标头 directxpackedvector.h

请参阅

XMU555

XMU555 构造函数