Struktur D3DXMATRIX (D3dx9math.h)
Catatan
Pustaka utilitas D3DX tidak digunakan lagi. Kami menyarankan agar Anda menggunakan DirectXMath sebagai gantinya.
Matriks 4x4 yang berisi metode dan kelebihan beban operator.
Sintaks
typedef struct D3DXMATRIX {
FLOAT _ij;
} D3DXMATRIX, *LPD3DXMATRIX;
Anggota
-
_Ij
-
Jenis: FLOAT
-
Komponen (i, j) dari matriks, di mana i adalah nomor baris dan j adalah nomor kolom. Misalnya, _34 berarti sama dengan [a₃₄], komponen di baris ketiga dan kolom keempat.
Keterangan
Programmer C tidak dapat menggunakan struktur D3DXMATRIX, mereka harus menggunakan struktur D3DMATRIX . Pemrogram C++ dapat memanfaatkan konstruktor dan penugasan yang kelebihan beban, unary, dan biner (termasuk kesetaraan).
Di D3DX, elemen _34 dari matriks proyeksi tidak boleh berupa angka negatif. Jika aplikasi Anda perlu menggunakan nilai negatif di lokasi ini, aplikasi harus menskalakan seluruh matriks proyeksi dengan -1 sebagai gantinya.
Ekstensi D3DXMATRIX
D3DXMATRIX memiliki ekstensi C++ berikut.
#ifdef __cplusplus
typedef struct D3DXMATRIX : public D3DMATRIX
{
public:
D3DXMATRIX() {};
D3DXMATRIX( CONST FLOAT * );
D3DXMATRIX( CONST D3DMATRIX& );
D3DXMATRIX( CONST D3DXFLOAT16 * );
D3DXMATRIX( 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 );
// access grants
FLOAT& operator () ( UINT Row, UINT Col );
FLOAT operator () ( UINT Row, UINT Col ) const;
// casting operators
operator FLOAT* ();
operator CONST FLOAT* () const;
// assignment operators
D3DXMATRIX& operator *= ( CONST D3DXMATRIX& );
D3DXMATRIX& operator += ( CONST D3DXMATRIX& );
D3DXMATRIX& operator -= ( CONST D3DXMATRIX& );
D3DXMATRIX& operator *= ( FLOAT );
D3DXMATRIX& operator /= ( FLOAT );
// unary operators
D3DXMATRIX operator + () const;
D3DXMATRIX operator - () const;
// binary operators
D3DXMATRIX operator * ( CONST D3DXMATRIX& ) const;
D3DXMATRIX operator + ( CONST D3DXMATRIX& ) const;
D3DXMATRIX operator - ( CONST D3DXMATRIX& ) const;
D3DXMATRIX operator * ( FLOAT ) const;
D3DXMATRIX operator / ( FLOAT ) const;
friend D3DXMATRIX operator * ( FLOAT, CONST D3DXMATRIX& );
BOOL operator == ( CONST D3DXMATRIX& ) const;
BOOL operator != ( CONST D3DXMATRIX& ) const;
} D3DXMATRIX, *LPD3DXMATRIX;
#else //!__cplusplus
typedef struct _D3DMATRIX D3DXMATRIX, *LPD3DXMATRIX;
#endif //!__cplusplus
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk