Bagikan melalui


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.

Catatan Lihat Kesetaraan Jenis Pustaka DirectXMath untuk informasi tentang objek D3DDECLTYPE, D3DFORMAT, dan DXGI_FORMAT yang setara.
 

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]

void XMMATRIX()

Konstruktor default untuk XMMATRIX.

Konstruktor default untuk XMMATRIX.

Catatan Konstruktor ini hanya tersedia saat mengembangkan dengan C++.
 

void XMMATRIX( const XMMATRIX & unnamedParam1)

Konstruktor untuk XMMATRIX.

Konstruktor untuk XMMATRIX.

Catatan Konstruktor ini hanya tersedia saat mengembangkan dengan C++.

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.

Catatan Operator ini hanya tersedia saat mengembangkan dengan C++.
 

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.

Catatan Konstruktor ini hanya tersedia saat mengembangkan dengan C++.

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

Menginisialisasi instans XMMATRIX baru struktur dari enam belas nilai skalar float .

Menginisialisasi instans baru struktur XMMATRIX dari enam belas nilai skalar float .

Catatan Konstruktor ini hanya tersedia saat mengembangkan dengan C++.
 

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.

Catatan Konstruktor ini hanya tersedia saat mengembangkan dengan C++.
 

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 referenceXMMATRIX seperti yang ditentukan oleh argumen baris dan kolom.

Catatan Operator ini hanya tersedia saat mengembangkan dengan C++.
 

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.

Catatan Operator ini hanya tersedia saat mengembangkan dengan C++.
 

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.

Catatan Operator ini hanya tersedia saat mengembangkan dengan C++.
 

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.

Catatan XNAMath 2.x mendefinisikan sebagai persatuan 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.
 
Namespace: Gunakan DirectX

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

Lihat juga

Struktur Pustaka DirectXMath

XMFLOAT4X4

Ekstensi XMMATRIX