estructura XMFLOAT3PK (directxpackedvector.h)
Describe un vector 3D con componentes X e Y almacenados como número de punto flotante de 11 bits y un componente Z almacenado como un valor de punto flotante de 10 bits.
Para obtener una lista de funcionalidades adicionales, como constructores y operadores, disponibles mediante XMFLOAT3PK
al programar en C++, consulte XMFLOAT3PK Extensiones.
Sintaxis
struct XMFLOAT3PK {
union {
struct {
uint32_t xm : 6;
uint32_t xe : 5;
uint32_t ym : 6;
uint32_t ye : 5;
uint32_t zm : 5;
uint32_t ze : 5;
};
uint32_t v;
};
void XMFLOAT3PK();
void XMFLOAT3PK(
const XMFLOAT3PK & unnamedParam1
);
XMFLOAT3PK & operator=(
const XMFLOAT3PK & unnamedParam1
);
void XMFLOAT3PK(
XMFLOAT3PK && unnamedParam1
);
XMFLOAT3PK & operator=(
XMFLOAT3PK && unnamedParam1
);
void XMFLOAT3PK(
uint32_t Packed
) noexcept;
void XMFLOAT3PK(
float _x,
float _y,
float _z
) noexcept;
void XMFLOAT3PK(
const float *pArray
) noexcept;
void operator uint32_t() noexcept;
XMFLOAT3PK & operator=(
uint32_t Packed
) noexcept;
};
Miembros
6 xm
Mantisa de 6 bits para el componente x.
5 xe
Exponente sesgado de 5 bits para el componente x.
6 ym
Mantisa de 6 bits para el componente y.
5 ye
Exponente sesgado de 5 bits para el componente y.
5 zm
Mantisa de 5 bits para el componente z.
5 ze
Exponente sesgado de 5 bits para el componente z.
v
Entero de 32 bits sin signo que representa el vector 3D.
Constructor predeterminado para XMFLOAT3PK
.
Constructor predeterminado para XMFLOAT3PK.
void XMFLOAT3PK( const XMFLOAT3PK & unnamedParam1)
Constructor para XMFLOAT3PK
.
Constructor para XMFLOAT3PK.
XMFLOAT3PK & operator=( const XMFLOAT3PK & unnamedParam1)
void XMFLOAT3PK( XMFLOAT3PK && unnamedParam1)
Asigna los datos del componente vectorial de una instancia de XMFLOAT3SE
a la instancia actual de XMFLOAT3SE
.
Este operador asigna los datos del componente vectorial de una instancia de XMFLOAT3SE a la instancia actual de XMFLOAT3SE
.
XMFLOAT3PK & operator=( XMFLOAT3PK && unnamedParam1)
Asigna los datos del componente vectorial de una instancia de XMFLOAT3PK
a la instancia actual de XMFLOAT3PK
.
Este operador asigna los datos del componente vectorial de una instancia de XMFLOAT3PK a la instancia actual de XMFLOAT3PK
.
void XMFLOAT3PK( uint32_t Packed) noexcept
Inicializa una nueva instancia de XMFLOAT3PK
desde una uint32_t
variable que contiene datos de componentes en un formato empaquetado.
Este constructor inicializa una nueva instancia de XMFLOAT3PK a partir de una uint32_t
variable que contiene datos de componentes en un formato empaquetado.
void XMFLOAT3PK( float _x, float _y, float _z) noexcept
Inicializa una nueva instancia de a partir de XMFLOAT3PK
tres float
argumentos.
Este constructor inicializa una nueva instancia de XMFLOAT3PK a partir de tres float
argumentos.
void XMFLOAT3PK( const float *pArray) noexcept
Inicializa una nueva instancia de XMFLOAT3PK a partir de un argumento de matriz de tres elementos float
.
Este constructor inicializa una nueva instancia de XMFLOAT3PK a partir de un argumento de matriz de tres elementos float
.
operador void uint32_t() noexcept
Devuelve una instancia de uint32_t
que contiene los componentes de la XMFLOAT3PK
instancia en un formato empaquetado.
Este operador devuelve una instancia de uint32_t
que contiene los componentes de la instancia de XMFLOAT3PK en un formato empaquetado.
XMFLOAT3PK & operator=( uint32_t Packed) noexcept
Este operador asigna los datos del componente vectorial empaquetados en una instancia de uint32_t
a la instancia actual de XMFLOAT3PK.
Comentarios
No hay bits de signo. Esto significa que todos los números de precisión parcial son positivos. El componente z se almacena en los bits más significativos y el componente x se almacena en los bits menos significativos como este:
(Z10Y11X11): [31] ZZZZZzzz zzYYYYYy yyyyyXXX XXxxxxxx [0]
O con detalle:
- Los bits 0-5 de v son la mantisa de 6 bits del valor de punto flotante del componente x : el miembro xm de la estructura.
- Los bits de 6 a 10 de v son el exponente de 5 bits del valor de punto flotante del componente xe del miembro xe de la estructura.
- Los bits 11-16 de v son la mantisa de 6 bits del valor de punto flotante del componente y : el miembro ym de la estructura.
- Los bits 17-21 de v son el exponente de 5 bits del valor de punto flotante del componente y : el miembro ye de la estructura.
- Los bits 22-26 de v son la mantisa de 5 bits del valor de punto flotante del componente z : el miembro zm de la estructura.
- Los bits 27-31 de v son el exponente de 5 bits del valor de punto flotante del componente z : el miembro ze de la estructura.
XMFLOAT3PK
se puede cargar en instancias de XMVECTOR mediante XMLoadFloat3PK.
Las instancias de XMVECTOR
se pueden almacenar en una instancia de XMFLOAT3PK
con XMStoreFloat3PK.
MIN_F10 / MIN_F11 = 6.10352e-5
MAX_F10 = 64512
MAX_F11 = 65024
Nombres: Uso de DirectX::P ackedVector
Requisitos de la plataforma
Microsoft Visual Studio 2010 o Microsoft Visual Studio 2012 con Windows SDK para Windows 8. Compatible con aplicaciones de escritorio Win32, aplicaciones de la Tienda Windows y Windows Phone 8 aplicaciones.Requisitos
Encabezado | directxpackedvector.h |