description | ms.assetid | title | ms.topic | ms.date | topic_type | api_name | api_type | api_location | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
D3DXMATRIX structure (D3dx9math.h) - A 4x4 matrix that contains methods and operator overloads. |
0911088b-50cf-4c4a-996e-351386fc359b |
D3DXMATRIX structure (D3dx9math.h) |
reference |
05/31/2018 |
|
|
|
|
Note
The D3DX utility library is deprecated. We recommend that you use DirectXMath instead.
A 4x4 matrix that contains methods and operator overloads.
typedef struct D3DXMATRIX {
FLOAT _ij;
} D3DXMATRIX, *LPD3DXMATRIX;
-
_ij
-
Type: FLOAT
-
The (i, j) component of the matrix, where i is the row number and j is the column number. For example, _34 means the same as [a₃₄], the component in the third row and fourth column.
C programmers cannot use the D3DXMATRIX structure, they must use the D3DMATRIX structure. C++ programmers can take advantage of overloaded constructors and assignment, unary, and binary (including equality) operators.
In D3DX, the _34 element of a projection matrix cannot be a negative number. If your application needs to use a negative value in this location, it should scale the entire projection matrix by -1 instead.
D3DXMATRIX has the following C++ extensions.
#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
Requirement | Value |
---|---|
Header |
|