Struktur D3DXMATRIX (D3DX10Math.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 operator 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
D3DX10Math.h

Lihat juga

Struktur D3DX