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 |