XMBYTEN4::XMBYTEN4 (float,float,float,float) 函数 (directxpackedvector.h)

从四float个参数初始化 的新XMBYTEN4实例。

此构造函数从四float个参数初始化 XMBYTEN4 的新实例。

注意 此构造函数仅在 C++ 下可用。
 

语法

void XMBYTEN4(
  float _x,
  float _y,
  float _z,
  float _w
) noexcept;

参数

_x

矢量 x 坐标的规范化值。

此参数应介于 -1.0 和 1.0 之间。 在 实例化 XMBYTEN4期间,它乘以 127.0f ,然后存储为 结构的 x 成员。

_y

矢量的 y 坐标的规范化值,新实例的 yXMBYTEN4

此参数应介于 -1.0 和 1.0 之间。 在 实例化 期间 XMBYTEN4,它乘以 127.0f ,然后存储为 结构的 y 成员。

_z

矢量的 z 坐标的规范化值,新实例的 zXMBYTEN4

此参数应介于 -1.0 和 1.0 之间。 在 实例化 的 XMBYTEN4实例期间,它乘以 127.0f ,然后存储为 结构的 z 成员。

_w

矢量的 w 坐标的规范化值,新实例的 wXMBYTEN4

此参数应介于 -1.0 和 1.0 之间。 在 实例化 XMBYTEN4期间,它乘以 127.0f ,然后存储为 结构的 w 成员。

返回值

备注

构造函数的每个参数的量级将固定到 8 位有符号整数 [-127.0, 127.0] 支持的范围。

以下伪代码演示了此构造函数的操作,该构造函数利用 union 了向量的四个分量的 XMBYTEN4 ,并在结构定义中为 实例 uint32_t


	XMBYTEN4 instance;
	_x1=min( max( _x, -1.0 ), 1.0 );
	_y1=min( max( _y, -1.0 ), 1.0 );
	_z1=min( max( _z, -1.0 ), 1.0 );
	_w1=min( max( _w, -1.0 ), 1.0 );
	_x1 = round( _x1 *  127.0f);
	_y1 = round( _y1 *  127.0f);
	_z1 = round( _z1 *  127.0f);
	_w1 = round( _w1 *  127.0f);
	instance.x = (int8_t)_x1;
	instance.y = (int8_t)_y1;
	instance.z = (int8_t)_z1;
	instance.w = (int8_t)_w1;
      

要求

要求
目标平台 Windows
标头 directxpackedvector.h

另请参阅

引用

XMBYTEN4

XMBYTEN4 构造函数