Estructura XMMATRIX (directxmath.h)
Describe una matriz de 4*4 alineada en un límite de 16 bytes que se asigna a cuatro registros vectoriales de hardware.
DirectXMath usa matrices principales de fila, vectores de fila y multiplicación previa. La entrega viene determinada por la versión de función que se usa (RH frente a LH).
Para obtener una lista de funcionalidades adicionales, como constructores y operadores que están disponibles mediante XMMATRIX
cuando se programa en C++, consulte Extensiones XMMATRIX.
Sintaxis
struct XMMATRIX {
union {
XMVECTOR r[4];
struct {
float _11;
float _12;
float _13;
float _14;
float _21;
float _22;
float _23;
float _24;
float _31;
float _32;
float _33;
float _34;
float _41;
float _42;
float _43;
float _44;
};
float m[4][4];
};
XMVECTOR r[4];
void XMMATRIX();
void XMMATRIX(
const XMMATRIX & unnamedParam1
);
XMMATRIX & operator=(
const XMMATRIX & M
) noexcept;
XMMATRIX & operator=(
const XMMATRIX & unnamedParam1
);
void XMMATRIX(
XMMATRIX && unnamedParam1
);
XMMATRIX & operator=(
XMMATRIX && unnamedParam1
);
void XMMATRIX(
FXMVECTOR R0,
FXMVECTOR R1,
FXMVECTOR R2,
CXMVECTOR R3
) noexcept;
void XMMATRIX(
float m00,
float m01,
float m02,
float m03,
float m10,
float m11,
float m12,
float m13,
float m20,
float m21,
float m22,
float m23,
float m30,
float m31,
float m32,
float m33
) noexcept;
void XMMATRIX(
const float *pArray
) noexcept;
float operator()(
size_t Row,
size_t Column
) noexcept;
float & operator()(
size_t Row,
size_t Column
) noexcept;
XMMATRIX operator+() noexcept;
XMMATRIX operator-() noexcept;
XMMATRIX &XM_CALLCONV operator+=(
FXMMATRIX M
) noexcept;
XMMATRIX &XM_CALLCONV operator-=(
FXMMATRIX M
) noexcept;
XMMATRIX &XM_CALLCONV operator*=(
FXMMATRIX M
) noexcept;
XMMATRIX & operator*=(
float S
) noexcept;
XMMATRIX & operator/=(
float S
) noexcept;
XMMATRIX XM_CALLCONV operator+(
FXMMATRIX M
) noexcept;
XMMATRIX XM_CALLCONV operator-(
FXMMATRIX M
) noexcept;
XMMATRIX XM_CALLCONV operator*(
FXMMATRIX M
) noexcept;
XMMATRIX operator*(
float S
) noexcept;
XMMATRIX operator/(
float S
) noexcept;
};
Miembros
r[4]
Matriz de cuatro vectores, que representa las filas de la matriz.
_11
_12
_13
_14
_21
_22
_23
_24
_31
_32
_33
_34
_41
_42
_43
_44
m[4]
Constructor predeterminado para XMMATRIX
.
Constructor predeterminado para XMMATRIX.
void XMMATRIX( const XMMATRIX & unnamedParam1)
Constructor para XMMATRIX
.
Constructor para XMMATRIX.
XMMATRIX & operator=( const XMMATRIX & M) noexcept
Asigna los datos de matriz de una instancia de XMMATRIX
a la instancia actual de XMMATRIX
y devuelve un reference
objeto a la instancia actual.
Este operador asigna los datos de matriz de una instancia de XMMATRIX a la instancia actual de XMMATRIX
y devuelve un reference
objeto a la instancia actual.
XMMATRIX & operator=( const XMMATRIX & unnamedParam1)
void XMMATRIX( XMMATRIX && unnamedParam1)
XMMATRIX & operator=( XMMATRIX && unnamedParam1)
void XMMATRIX( FXMVECTOR R0, FXMVECTOR R1, FXMVECTOR R2, CXMVECTOR R3) noexcept
Inicializa una nueva instancia de la estructura XMMATRIX a partir de cuatro instancias de XMVECTOR
.
Inicializa una nueva instancia de la estructura XMMATRIX a partir de cuatro instancias del tipo de datos XMVECTOR.
Inicializa una nueva instancia de la XMMATRIX
estructura a partir de dieciséis valores escalares float
.
Inicializa una nueva instancia de la estructura XMMATRIX a partir de dieciséis valores escalares float
.
void XMMATRIX( const float *pArray) noexcept
Inicializa una nueva instancia de la estructura XMMATRIX a partir de una matriz de dieciséis elementos float
.
Inicializa una nueva instancia de la estructura XMMATRIX a partir de una matriz de dieciséis elementos float
.
float operator()( size_t Row, size_t Column) noexcept
float & operator()( size_t Row, size_t Column) noexcept
Devuelve un reference
objeto a un elemento de matriz de una instancia XMMATRIX
tal y como especifican los argumentos de fila y columna.
Este operador devuelve un reference
objeto a un elemento de matriz de una instancia XMMATRIX tal como se especifica en los argumentos de fila y columna.
XMMATRIX operator+() noexcept
XMMATRIX operator-() noexcept
XMMATRIX &XM_CALLCONV operator+=( FXMMATRIX M) noexcept
XMMATRIX &XM_CALLCONV operator-=( FXMMATRIX M) noexcept
XMMATRIX &XM_CALLCONV operator*=( FXMMATRIX M) noexcept
Realiza una multiplicación de matriz de la instancia actual de XMMATRIX
por otra instancia de XMMATRIX
y devuelve una referencia a la instancia actual, que se ha actualizado.
Este operador realiza una multiplicación de matriz de la instancia actual de XMMATRIX por otra instancia de XMMATRIX
y devuelve una referencia a la instancia actual, que se ha actualizado.
XMMATRIX & operator*=( float S) noexcept
XMMATRIX & operator/=( float S) noexcept
XMMATRIX XM_CALLCONV operator+( FXMMATRIX M) noexcept
XMMATRIX XM_CALLCONV operator-( FXMMATRIX M) noexcept
Operador XMMATRIX XM_CALLCONV*( FXMMATRIX M) noexcept
Realiza una multiplicación de matriz de la instancia actual de XMMATRIX
por otra instancia de XMMATRIX
.
Este operador realiza una multiplicación de matriz de la instancia actual de XMMATRIX por otra instancia de XMMATRIX
.
XMMATRIX operator*( float S) noexcept
XMMATRIX operator/( float S) noexcept
Comentarios
En el archivo de encabezado DirectXMath.h, el sistema usa un alias para el XMMATRIX
objeto, específicamente CXMMATRIX.
El encabezado usa el alias para cumplir con las convenciones de llamada en línea óptimas de diferentes compiladores. Para la mayoría de los proyectos que usan DirectXMath, basta con tratar esto como un alias exacto para XMMATRIX
.
Eficazmente:
typedef const XMMATRIX CXMMATRIX;
Para los proyectos que necesitan información detallada sobre cómo se controlan las convenciones de llamada de diferentes plataformas, consulte Library Internals(Interna de biblioteca).
XMMATRIX
es la fila principal y todas las funciones directXMath que aceptan como XMMATRIX
parámetro esperan que los datos se organicen como filas principales.
Los datos de un objeto XMMATRIX
tienen el siguiente diseño.
_11 _12 _13 _14
_21 _22 _23 _24
_31 _32 _33 _34
_41 _42 _43 _44
DirectXMath define XMMATRIX como un tipo totalmente opaco. Para acceder a elementos individuales de XMMATRIX, use tipos equivalentes como XMFLOAT4 para una fila determinada o XMFLOAT4X4 para toda la matriz.
XMMATRIX
como una unión con _11 a _44 miembros y un miembro de matriz m . Al usar estos miembros de la unión, los resultados de rendimiento son deficientes. DirectXMath.h sigue definiendo estos XMMATRIX
miembros de unión para cuando se compila una aplicación con _XM_NO_INTRINSICS_. XNAMath versión 2.05 proporciona una XM_STRICT_XMMATRIX opcional para aplicar el comportamiento de DirectXMath.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
Requisito | Valor |
---|---|
Header | directxmath.h |