Поделиться через


функция XMBYTEN4::XMBYTEN4(float,float,float,float) (directxpackedvector.h)

Инициализирует новый экземпляр из XMBYTEN4 четырех float аргументов.

Этот конструктор инициализирует новый экземпляр XMBYTEN4 из четырех float аргументов.

Примечание Этот конструктор доступен только в C++.
 

Синтаксис

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

Параметры

_x

Нормализованное значение координаты X вектора.

Этот аргумент должен находиться в диапазоне от -1.0 до 1.0. Во время создания экземпляра XMBYTEN4он умножается на 127.0f , а затем сохраняется как член x структуры.

_y

Нормализованное значение координаты Y вектора, y нового экземпляра XMBYTEN4

Этот аргумент должен находиться в диапазоне от -1.0 до 1.0. Во время создания экземпляра XMBYTEN4он умножается на 127.0f , а затем сохраняется как член y структуры.

_z

Нормализованное значение для z-координаты вектора, z нового экземпляра XMBYTEN4

Этот аргумент должен находиться в диапазоне от -1.0 до 1.0. Во время создания экземпляра XMBYTEN4он умножается 127.0f на , а затем сохраняется как z-член структуры.

_w

Нормализованное значение w-координаты вектора, w нового экземпляра XMBYTEN4

Этот аргумент должен находиться в диапазоне от -1.0 до 1.0. Во время создания экземпляра XMBYTEN4он умножается на 127.0f и сохраняется как w-член структуры.

Возвращаемое значение

None

Remarks

Величина каждого аргумента конструктора будет зажата в диапазоне, поддерживаемом 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
Header directxpackedvector.h

См. также раздел

Справочные материалы

XMBYTEN4

Конструкторы XMBYTEN4