Compartir a través de


Función XMCOLOR::XMCOLOR(constfloat*) (directxpackedvector.h)

Inicializa una nueva instancia de XMCOLOR a partir de un argumento de matriz de cuatro elementos float .

Este constructor inicializa una nueva instancia de XMCOLOR a partir de un argumento de matriz de cuatro elementos float .

Nota Esto solo está disponible para el desarrollo basado en C++.

Sintaxis

void XMCOLOR(
  const float *pArray
) noexcept;

Parámetros

pArray

Matriz de punto flotante de cuatro elementos que contiene los valores de color usados para inicializar los cuatro componentes de una nueva instancia de XMCOLOR.

Valor devuelto

Ninguno

Observaciones

Los elementos de matriz se asignan a los componentes vectoriales de una nueva instancia de XMCOLOR de la siguiente manera:

Componente de vector Elemento Array Intervalo Descripción
a pArray[0] 0.0, 1.0 Durante la creación de instancias, pArray[0] se sujeta entre 0 y 1, multiplicado por 255.0f y asignado a un (canal alfa).
r pArray[1] 0.0, 1.0 Durante la creación de instancias, pArray[1] se sujeta entre 0 y 1, multiplicado por 255.0f y, a continuación, asignado a r (canal rojo).
z pArray[2] 0.0, 1.0 Durante la creación de instancias, pArray[2] se sujeta entre 0 y 1, multiplicado por 255.0f y, a continuación, asignado a g (canal verde).
w pArray[3] 0.0, 1.0 Durante la creación de instancias, pArray[3] se sujeta entre 0 y 1, multiplicado por 255.0f y, a continuación, asignado a b (canal azul).

El pseudocódigo siguiente muestra el funcionamiento de este constructor, que aprovecha la unión de los cuatro canales de color de la estructura XMCOLOR con una instancia de uint32_t en la definición de la estructura:

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 );

Requisitos

   
Plataforma de destino Windows
Encabezado directxpackedvector.h

Consulte también

XMCOLOR

Constructores XMCOLOR