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


Функция XMDECN4::XMDECN4(float,float,float;float) (directxpackedvector.h)

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

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

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

Синтаксис

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

Параметры

_x

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

Этот аргумент должен находиться в диапазоне от -1,0 до 1,0; во время создания экземпляра XMDECN4он умножается на 511.0f , а затем сохраняется как член x структуры.

_y

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

Этот аргумент должен находиться в диапазоне от -1,0 до 1,0; во время создания экземпляра XMDECN4он умножается на 511.0f , а затем сохраняется как член y структуры.

_z

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

Этот аргумент должен находиться в диапазоне от -1,0 до 1,0; во время создания экземпляра XMDECN4он умножается на 511.0f , а затем сохраняется как z-член структуры.

_w

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

Этот аргумент должен находиться в диапазоне от -1.0 до 1.0.

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

None

Remarks

Все входные значения,_x,_y, _z и _w зажаты в диапазоне от -1,0 до 1,0.

Следующий псевдокод демонстрирует работу этого конструктора, который использует преимущества union четырех компонентов вектора XMDECN4 с экземпляром uint32_t в определении структуры:


    	XMDECN4 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 *  511.0f);
	_y1 = round( _y1 *  511.0f);
	_z1 = round( _z1 *  511.0f);


	instance.v =  ( (int32_t)_w1 << 30) |
                      (((int32_t)_z1 & 0x3FF) << 20) |
                      (((int32_t)_y1 & 0x3FF) << 10) |
                      (((int32_t)_x1 & 0x3FF));
	

Требования

Требование Значение
Целевая платформа Windows
Header directxpackedvector.h

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

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

XMDECN4

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