Struktur XMMATRIX (directxmath.h)
Menjelaskan matriks 4* 4 yang selaras pada batas 16 byte yang memetakan ke empat register vektor perangkat keras.
DirectXMath menggunakan matriks utama baris, vektor baris, dan pra-perkalian. Handedness ditentukan oleh versi fungsi mana yang digunakan (RH vs. LH).
Untuk daftar fungsionalitas tambahan seperti konstruktor dan operator yang tersedia menggunakan XMMATRIX
saat Anda memprogram di C++, lihat Ekstensi XMMATRIX.
Sintaks
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;
};
Anggota
r[4]
Array dari empat vektor, mewakili baris matriks.
_11
_12
_13
_14
_21
_22
_23
_24
_31
_32
_33
_34
_41
_42
_43
_44
m[4]
Konstruktor default untuk XMMATRIX
.
Konstruktor default untuk XMMATRIX.
void XMMATRIX( const XMMATRIX & unnamedParam1)
Konstruktor untuk XMMATRIX
.
Konstruktor untuk XMMATRIX.
XMMATRIX & operator=( const XMMATRIX & M) noexcept
Menetapkan data matriks dari satu instans XMMATRIX
ke instans XMMATRIX
saat ini dan mengembalikan ke instans reference
saat ini.
Operator ini menetapkan data matriks dari satu instans XMMATRIX ke instans XMMATRIX
saat ini dan mengembalikan ke instans reference
saat ini.
XMMATRIX & operator=( const XMMATRIX & unnamedParam1)
void XMMATRIX( XMMATRIX && unnamedParam1)
XMMATRIX & operator=( XMMATRIX && unnamedParam1)
void XMMATRIX( FXMVECTOR R0, FXMVECTOR R1, FXMVECTOR R2, CXMVECTOR R3) noexcept
Menginisialisasi instans baru struktur XMMATRIX dari empat instans XMVECTOR
.
Menginisialisasi instans baru struktur XMMATRIX dari empat instans Jenis Data XMVECTOR.
Menginisialisasi instans XMMATRIX
baru struktur dari enam belas nilai skalar float
.
Menginisialisasi instans baru struktur XMMATRIX dari enam belas nilai skalar float
.
void XMMATRIX( const float *pArray) noexcept
Menginisialisasi instans baru struktur XMMATRIX dari array elemen float
enam belas.
Menginisialisasi instans baru struktur XMMATRIX dari array elemen float
enam belas.
float operator()( size_t Row, size_t Column) noexcept
noexcept operator & float()( size_t Row, size_t Column)
Mengembalikan ke elemen matriks reference
instans XMMATRIX
seperti yang ditentukan oleh argumen baris dan kolom.
Operator ini mengembalikan ke elemen matriks instans reference
XMMATRIX seperti yang ditentukan oleh argumen baris dan kolom.
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
Melakukan perkalian matriks instans saat ini dari XMMATRIX
instans XMMATRIX
lain dan mengembalikan referensi ke instans saat ini, yang telah diperbarui.
Operator ini melakukan perkalian matriks instans XMMATRIX saat ini dengan instans XMMATRIX
lain dan mengembalikan referensi ke instans saat ini, yang telah diperbarui.
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
Melakukan perkalian matriks dari instans saat ini dari XMMATRIX
oleh instans lain dari XMMATRIX
.
Operator ini melakukan perkalian matriks dari instans XMMATRIX saat ini dengan instans lain dari XMMATRIX
.
XMMATRIX operator*( float S) noexcept
XMMATRIX operator/( float S) noexcept
Keterangan
Dalam file header DirectXMath.h, sistem menggunakan alias untuk XMMATRIX
objek, khususnya CXMMATRIX.
Header menggunakan alias untuk mematuhi konvensi panggilan dalam baris yang optimal dari pengkompilasi yang berbeda. Untuk sebagian besar proyek yang menggunakan DirectXMath cukup untuk hanya memperlakukan ini sebagai alias yang tepat untuk XMMATRIX
.
Secara efektif:
typedef const XMMATRIX CXMMATRIX;
Untuk proyek yang memerlukan informasi terperinci tentang bagaimana konvensi panggilan platform yang berbeda ditangani, lihat Internal Pustaka.
XMMATRIX
adalah row-major dan semua fungsi DirectXMath yang menerima XMMATRIX
sebagai parameter mengharapkan data diatur sebagai row-major.
Data dalam memiliki XMMATRIX
tata letak berikut.
_11 _12 _13 _14
_21 _22 _23 _24
_31 _32 _33 _34
_41 _42 _43 _44
DirectXMath mendefinisikan XMMATRIX sebagai jenis buram sepenuhnya. Untuk mengakses elemen individual XMMATRIX, gunakan jenis yang setara seperti XMFLOAT4 untuk baris atau XMFLOAT4X4 tertentu untuk seluruh matriks.
XMMATRIX
dengan anggota _11 hingga _44 dan anggota array m . Saat Anda menggunakan anggota serikat ini, hasil performa yang buruk. DirectXMath.h masih mendefinisikan anggota gabungan ini XMMATRIX
saat Anda membuat aplikasi dengan _XM_NO_INTRINSICS_. XNAMath versi 2.05 menyediakan XM_STRICT_XMMATRIX keikutsertaan untuk menerapkan perilaku DirectXMath.Persyaratan Platform
Microsoft Visual Studio 2010 atau Microsoft Visual Studio 2012 dengan Windows SDK untuk Windows 8. Didukung untuk aplikasi desktop Win32, aplikasi Windows Store, dan aplikasi Windows Phone 8.Persyaratan
Persyaratan | Nilai |
---|---|
Header | directxmath.h |