función XMDECN4::XMDECN4(constfloat*) (directxpackedvector.h)
Inicializa una nueva instancia de XMDECN4 a partir de un argumento de matriz de cuatro elementos float
.
Este constructor inicializa una nueva instancia de XMDECN4 a partir de un argumento de matriz de cuatro elementos float
.
Nota Este constructor solo está disponible en C++.
Sintaxis
void XMDECN4(
const float *pArray
) noexcept;
Parámetros
pArray
Matriz de punto flotante de cuatro elementos que contiene los valores usados para inicializar los cuatro componentes de una nueva instancia de XMDECN4.
Valor devuelto
None
Observaciones
Los elementos de matriz se asignan a los componentes vectoriales de una nueva instancia de XMDECN4 de la siguiente manera:
Componente de vector | Elemento Array | Intervalo | Descripción |
---|---|---|---|
x | pArray[0] | -1.0, 1.0 | Durante la creación de instancias, pArray[0] se sujeta entre -1 y 1, multiplicado por 511.0f y asignado a x. |
y | pArray[1] | -1.0, 1.0 | Durante la creación de instancias, pArray[1] se sujeta entre -1 y 1, multiplicado por 511,0f y, a continuación, se asigna a y. |
z | pArray[2] | -1.0, 1.0 | Durante la creación de instancias, pArray[2] se sujeta entre -1 y 1, multiplicado por 511.0f y, a continuación, asignado a z. |
w | pArray[3] | -1.0, 1.0 | Durante la creación de instancias, pArray[3] se sujeta entre -1 y 1 y, a continuación, se asigna a w. |
XMDECN4 instance;
_x1=min( max( pArray[0], -1.0 ), 1.0 );
_y1=min( max( pArray[1], -1.0 ), 1.0 );
_z1=min( max( pArray[2], -1.0 ), 1.0 );
_w1=min( max( pArray[3], -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));
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | directxpackedvector.h |