Función XMXDEC4::XMXDEC4(constfloat*) (directxpackedvector.h)
Inicializa una nueva instancia de XMXDEC4 desde un argumento de matriz de cuatro elementos float
.
Este constructor inicializa una nueva instancia de XMXDEC4 desde un argumento de matriz de cuatro elementos float
.
Sintaxis
void XMXDEC4(
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 XMXDEC4.
Valor devuelto
Ninguno
Observaciones
Como XMXDEC4 representa un vector entero de cuatro componentes, la parte fraccionarcional de un elemento de pArray se truncará.
Los elementos de matriz se asignan a los componentes vectoriales de una nueva instancia de XMXDEC4 de la siguiente manera:
Miembro XMXDEC4 | Elemento Array | Intervalo |
---|---|---|
x | pArray[0] | -511, 511 |
s | pArray[1] | -511, 511 |
z | pArray[2] | -511, 511 |
w | pArray[3] | 0, 3 |
Los elementos de pArray se sujetarán al intervalo permitido antes de la asignación al miembro adecuado de XMXDEC4.
El pseudocódigo siguiente muestra el funcionamiento de este constructor, que aprovecha la unión de los cuatro componentes del vector XMXDEC4 con una instancia de uint32_t en la definición de la estructura:
XMXDEC4 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], 0.0 ), 3.0 );
instance.v = ( (int32_t)_w1 << 30) |
(((int32_t)_z1 & 0x3FF) << 20) |
(((int32_t)_y1 & 0x3FF) << 10) |
(((uint32_t)_x1 & 0x3FF));
Requisitos
Plataforma de destino | Windows |
Encabezado | directxpackedvector.h |