XMUBYTEN4::XMUBYTEN4 (float、float、float、float) 函数 (directxpackedvector.h)

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

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

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

语法

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

参数

_x

矢量 x 坐标的规范化值。

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

_y

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

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

_z

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

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

_w

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

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

返回值

备注

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

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


	XMUBYTEN4 instance;
	_x1=min( max( _x, 0.0 ), 1.0 );
	_y1=min( max( _y, 0.0 ), 1.0 );
	_z1=min( max( _z, 0.0 ), 1.0 );
	_w1=min( max( _w, 0.0 ), 1.0 );
	_x = round( _x *  255.0f);
	_y = round( _y *  255.0f);
	_z = round( _z *  255.0f);
	_w = round( _w *  255.0f);
	instance.x = (uint8_t)_x1;
	instance.y = (uint8_t)_y1;
	instance.z = (uint8_t)_z1;
	instance.w = (uint8_t)_w1;
    

要求

   
目标平台 Windows
标头 directxpackedvector.h

请参阅

引用

XMUBYTEN4

XMUBYTEN4 构造函数