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


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

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

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

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

Синтаксис

void XMCOLOR(
  const float *pArray
) noexcept;

Параметры

pArray

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

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

None

Remarks

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

Компонент вектора Элемент Array Диапазон Описание
а pArray[0] 0.0, 1.0 Во время создания экземпляра pArray[0] зажимается в диапазоне от 0 до 1, умножается на 255,0f и присваивается (альфа-каналу).
r pArray[1] 0.0, 1.0 Во время создания экземпляра pArray[1] зажимается в диапазоне от 0 до 1, умножается на 255,0f, а затем назначается r (красный канал).
z pArray[2] 0.0, 1.0 Во время создания экземпляра pArray[2] зажимается в диапазоне от 0 до 1, умножается на 255,0f, а затем присваивается g (зеленый канал).
w pArray[3] 0.0, 1.0 Во время создания экземпляра pArray[3] зажимается между 0 и 1, умножается на 255,0f, а затем присваивается b (синий канал).

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

XMCOLOR instance;
_a1 = min( max( pArray[0], 0.0 ), 1.0 );
_r1 = min( max( pArray[1], 0.0 ), 1.0 );
_g1 = min( max( pArray[2], 0.0 ), 1.0 );
_b1 = min( max( pArray[3], 0.0 ), 1.0 );

_a1 = round ( _a1 * 255.0f );
_r1 = round ( _r1 * 255.0f );
_g1 = round ( _g1 * 255.0f );
_b1 = round ( _b1 * 255.0f );

instance.v =  ( (uint32_t)_a1 << 24) |
              ( (uint32_t)_r1 << 16) |
              ( (uint32_t)_b1 <<  8) |
              ( (uint32_t)_b1 );

Требования

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

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

XMCOLOR

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