XMMATRIX 構造体 (directxmath.h)
4 つのハードウェア ベクター レジスタにマップされる 16 バイト境界に配置された 4*4 行列について説明します。
DirectXMath では、行主行列、行ベクトル、および事前乗算が使用されます。 ハンドドネスは、使用される関数バージョン (RH と LH) によって決まります。
C++ でのプログラミング時に使用 XMMATRIX
できるコンストラクターや演算子などの追加機能の一覧については、「 XMMATRIX Extensions」を参照してください。
構文
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;
};
メンバー
r[4]
行列の行を表す 4 つのベクトルの配列。
_11
_12
_13
_14
_21
_22
_23
_24
_31
_32
_33
_34
_41
_42
_43
_44
m[4]
の既定の XMMATRIX
コンストラクター。
XMMATRIX の既定のコンストラクター。
void XMMATRIX( const XMMATRIX & unnamedParam1)
の XMMATRIX
コンストラクター。
XMMATRIX のコンストラクター。
XMMATRIX & operator=( const XMMATRIX & M) noexcept
の 1 つのインスタンスのマトリックス データを の現在のXMMATRIX
インスタンスXMMATRIX
に割り当て、 を現在のインスタンスに返reference
します。
この演算子は、 XMMATRIX の 1 つのインスタンスのマトリックス データを の現在の XMMATRIX
インスタンスに割り当て、 を現在のインスタンスに返 reference
します。
XMMATRIX & operator=( const XMMATRIX & unnamedParam1)
void XMMATRIX( XMMATRIX && unnamedParam1)
XMMATRIX & operator=( XMMATRIX && unnamedParam1)
void XMMATRIX( FXMVECTOR R0, FXMVECTOR R1, FXMVECTOR R2, CXMVECTOR R3) noexcept
の 4 つのインスタンスから XMMATRIX 構造体の XMVECTOR
新しいインスタンスを初期化します。
XMVECTOR データ型の 4 つのインスタンスから XMMATRIX 構造体の新しいインスタンスを初期化します。
16 個のスカラーfloat
値から 構造体のXMMATRIX
新しいインスタンスを初期化します。
16 個のスカラーfloat
値から XMMATRIX 構造体の新しいインスタンスを初期化します。
void XMMATRIX( const float *pArray) noexcept
16 個の要素float
配列から XMMATRIX 構造体の新しいインスタンスを初期化します。
16 個の要素float
配列から XMMATRIX 構造体の新しいインスタンスを初期化します。
float operator()( size_t Row, size_t Column) noexcept
float & operator()( size_t Row, size_t Column) noexcept
reference
行引数と列引数で指定されたインスタンスXMMATRIX
のマトリックス要素に を返します。
この演算子は、 reference
行引数と列引数で指定されたインスタンス XMMATRIX のマトリックス要素に を返します。
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
のインスタンスによって の現在のインスタンスのXMMATRIX
行列乗算を実行し、更新された現在のインスタンスへの参照を返します。
この演算子は、 の別XMMATRIX
のインスタンスによって XMMATRIX の現在のインスタンスの行列乗算を実行し、更新された現在のインスタンスへの参照を返します。
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 演算子*( FXMMATRIX M) noexcept
の別のインスタンスによる の現在のインスタンスの XMMATRIX
行列乗算を実行します XMMATRIX
。
この演算子は、 の別のインスタンスによる XMMATRIX の現在のインスタンスの XMMATRIX
行列乗算を実行します。
XMMATRIX operator*( float S) noexcept
XMMATRIX operator/( float S) noexcept
注釈
DirectXMath.h ヘッダー ファイルでは、オブジェクトの別名 XMMATRIX
(具体的には CXMMATRIX) が使用されます。
ヘッダーでは、 エイリアスを使用して、さまざまなコンパイラの最適なインライン呼び出し規則に準拠します。 DirectXMath を使用するほとんどのプロジェクトでは、これを の正確なエイリアス XMMATRIX
として扱うだけで十分です。
効果的:
typedef const XMMATRIX CXMMATRIX;
さまざまなプラットフォームの呼び出し規則の処理方法に関する詳細情報が必要なプロジェクトについては、「 Library Internals」を参照してください。
XMMATRIX
は行メジャーであり、 をパラメーターとして受け取 XMMATRIX
る DirectXMath 関数はすべて、データが行メジャーとして整理されることを想定しています。
内の XMMATRIX
データのレイアウトは次のとおりです。
_11 _12 _13 _14
_21 _22 _23 _24
_31 _32 _33 _34
_41 _42 _43 _44
DirectXMath は 、XMMATRIX を完全に不透明な型として定義します。 XMMATRIX の個々の要素にアクセスするには、特定の行のXMFLOAT4やマトリックス全体のXMFLOAT4X4など、同等の型を使用します。
XMMATRIX
。 共用体のこれらのメンバーを使用すると、パフォーマンスが低下します。 DirectXMath.h では、_XM_NO_INTRINSICS_を使用してアプリをビルドするときに、これらのXMMATRIX
共用体メンバーが引き続き定義されます。 XNAMath バージョン 2.05 には、DirectXMath 動作を適用するためのオプトイン XM_STRICT_XMMATRIXが用意されています。プラットフォームの要件
Microsoft Visual Studio 2010 または Microsoft Visual Studio 2012 と Windows SDK for Windows 8。 Win32 デスクトップ アプリ、Windows ストア アプリ、Windows Phone 8 アプリでサポートされます。要件
要件 | 値 |
---|---|
Header | directxmath.h |