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


Функция XMDEC4::XMDEC4(constfloat*) (directxpackedvector.h)

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

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

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

Синтаксис

void XMDEC4(
  const float *pArray
) noexcept;

Параметры

pArray

Массив с плавающей запятой из четырех элементов, содержащий значения, используемые для инициализации четырех компонентов нового экземпляра XMDEC4.

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

None

Remarks

Так как XMDEC4 представляет четырехкомпонентный целочисленный вектор, дробная часть элемента pArray будет усечена.

Элементы массива сопоставляются с компонентами вектора нового экземпляра XMDEC4 следующим образом:

Компонент вектора Элемент Array Диапазон
x pArray[0] -511, 511
y pArray[1] -511, 511
z pArray[2] -511, 511
w pArray[3] -1, 1

Элементы pArray будут зажаты в допустимом диапазоне до назначения соответствующему члену XMDEC4.

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

XMDEC4 instance;
_x1=min( max( pArray[0], -511.0 ), 511.0 );
_y1=min( max( pArray[1], -511.0 ), 511.0 );
_z1=min( max( pArray[2], -511.0 ), 511.0 );
_w1=min( max( pArray[3], -1.0 ), 1.0 );

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

Требования

   
Целевая платформа Windows
Header directxpackedvector.h

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

XMDEC4

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